悲剧的开始
领导给了我几个 express 的项目,让我想一下怎么部署,什么是 express 啊, 我直接战术后仰 虽然不会 但是还得干
网上看了点教程,然后实践了一下,记录一下
1. 安装 pm2
npm install -g pm2
pm2是干嘛的呢. 我理解就是管理进程的工具呗,
类似 POSIX中的 service status/start/stop ${process} ,
或者什么 systemctl ${process} start/stop ,反正都差不多一个样子
2.搞一下 https
openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem
一路下一步,很快啊,就能看到俩文件,看样子是 私钥和证书(没细看)
3. 代码改造
大概看了几眼 express 文档,配置一下 静态文件的目录,然后 搜索了一下 https 怎么写,
//之前这么写
const app = express();
app.listen(8000)
// 现在这么写
const https = require('https');
const fs = require('fs');
const app = express();
const privateKey = fs.readFileSync('./key.pem', 'utf8'); //用到之前生成的文件
const certificate = fs.readFileSync('./cert.pem', 'utf8');
const credentials = { key: privateKey, cert: certificate };
app.use(express.static('staic')); // 配置静态文件目录
https.createServer(credentials, app).listen(8000);
4. 运行一下看看
上来就是
pm2 start app.js --name helloworld , 很快啊,
[PM2] Starting /others-code/smart/app.js in fork_mode (1 instance)
[PM2] Done.
┌─────┬──────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │
├─────┼──────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0 │ helloworld │ default │ 1.0.0 │ fork │ 24341 │ 0s │ 0 │ online │ 0% │ 9.2mb │ alex_sun │ disabled │
└─────┴──────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘
5. todo
- pm2 文------档 需要看一下
- 整个过程太笨重, 怎么自动化搞一搞, 能不能做成 docker 镜像,然后部署的时候更简单一点?
6. 乱语
- 今天过得好快啊.
- 我只是一个前端啊(node的 event loop 还不会)
- 有点饿