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').networkInterfaces() 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+端口
传统的 HTTP 协议传输的数据都是明文,不安全
采用 HTTPS 协议对传输的数据进行了加密处理,可以防止数据被中间人窃取,使用更安全
开启 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