背景
运行Nodejs服务时如果服务器宕机或者其他原因重启了,应用服务不会跟着重启,需要手动进行重启,这样不符合现场管理要求,本文主要介绍使用pm2管理Node项目。
安装配置pm2
# 安装pm2
npm install pm2 -g
注:需要服务器先安装Nodejs,可以参考文章 Centos7安装Nodejs
# 查看pm2安装位置
find / -name pm2*
# 设置pm2环境变量
vim /etc/profile
PATH=$PATH:/usr/local/node-v16.14.0-linux-x64/lib/node_modules/pm2/bin
source /etc/profile
设置pm2开机自启
pm2 startup
使用pm2启动Node项目
pm2 start /root/node/项目路径/index.js
[root@77f60fc7c698 ~]# pm2 start /root/node/项目路径/index.js
[PM2] Starting /www/server/yapi/vendors/server/app.js in fork_mode (1 instance)
[PM2] Done.
┌──────────┬────┬─────────┬──────┬───────┬────────┬─────────┬────────┬─────┬──────────┬──────┬──────────┐
│ App name │ id │ version │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ user │ watching │
├──────────┼────┼─────────┼──────┼───────┼────────┼─────────┼────────┼─────┼──────────┼──────┼──────────┤
│ app │ 0 │ 1.7.1 │ fork │ 21501 │ online │ 0 │ 0s │ 0% │ 2.9 MB │ root │ disabled │
└──────────┴────┴─────────┴──────┴───────┴────────┴─────────┴────────┴─────┴──────────┴──────┴──────────┘
Use `pm2 show <id|name>` to get more details about an app
[root@77f60fc7c698 ~]#
将项目添加到pm2自启管理队列中
pm2 save
[root@77f60fc7c698 ~]# pm2 save
[PM2] Saving current process list...
[PM2] Successfully saved in /root/.pm2/dump.pm2
[root@77f60fc7c698 ~]#