admin管理员组文章数量:1558091
# 通过 node 创建 web 服务器
1. 创建文件夹,在文件夹中打开终端
2. 初始化包管理工具
npm init -y
3. 安装 express
npm install express --save
4. 安装 connect-history-api-fallback(实现history, 普通服务器不需要)
npm install connect-history-api-fallback --save
5. 安装 compression (开启 gzip 配置)
使用 gzip 可以减小文件体积,使传输速度更快, 可以通过服务器端使用 Express 做 gzip 压缩
npm install compression -S
6. 创建一个 dist 文件夹, 把要部署的项目复制进来
7. 新建入口文件( app.js), 输入以下内容 (不需要 history, 删掉 history 变量)
const express = require('express') // 导入 express
const compression = require('compression') // 导入 compression
const history = require('connect-history-api-fallback') // 导入 connect-history-api-fallback
const app = express() // 创建 web 服务器
const childProcess = require('child_process')
app.use(compression()) // 启用中间件(一定要写在托管静态资源前面)
app.use(history()) // 配置vue history模式,这里千万要注意,要在static静态资源上面
app.use(express.static('./dist')) // 托管静态资源
// 启动 web 服务器(手机可以访问 )
const hostname = getIPAddress()
const port = 88
app.listen(port, hostname, function (err) {
if (err) {
console.error('启动服务器失败!')
} else {
console.log(`web server running at http://${hostname}:${port}`)
// 浏览器打开
childProcess.exec(`start http://${hostname}:${port}`)
}
})
// 获取本机ip地址
function getIPAddress() {
var interfaces = require('os')workInterfaces()
for (var devName in interfaces) {
var iface = interfaces[devName]
for (var i = 0; i < iface.length; i++) {
var alias = iface[i]
if (
alias.family === 'IPv4' &&
alias.address !== '127.0.0.1' &&
!alias.internal
) {
return alias.address
}
}
}
}
8. 终端运行 node app.js, 返回 'web server running at http://本机ip+端口', 则项目运行成功
9. 访问地址:
http://本机ip+端口
# HTTPS 服务说明
传统的 HTTP 协议传输的数据都是明文,不安全
采用 HTTPS 协议对传输的数据进行了加密处理,可以防止数据被中间人窃取,使用更安全
# 使用 pm2 管理应用
开启 pm2 当你不关机情况下,关闭终端命令,网站还是会存在!
pm2是一个进程管理工具,可以用它来管理你的node进程,并查看node进程的状态,当然也支持性能监控,进程守护,负载均衡等功能
1. pm2需要全局安装(必须在管理员中运行): npm install -g pm2
2. 启动项目:pm2 start 启动的入口文件(一般为app.js) --name 名称
3. 重命名项目: pm2 start 启动的入口文件 --name 重命名
4. 查看运行项目:pm2 ls
5. 重启项目:pm2 restart 名称
6. 重新启动所有项目: pm2 restart all
7. 停止项目:pm2 stop 自定义名称
8. 停止所有项目:pm2 stop all
9. 删除项目:pm2 delete 自定义名称
10. 删除所有项目:pm2 delete all
11. 查看某个项目具体情况: pm2 describe 自定义名称
12. 查看pm2的日志: pm2 logs 自定义名称
13. 查看项目的资源消耗情况: pm2 monit
版权声明:本文标题:node 部署本地服务器 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1727353144a1109908.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论