小工具-PM2 专案管理

最近试着在远端VPS运行我的专案
发现有个不方便的地方
远端的专案,当我断掉ssh连线
他仍在运行


下次我sshx连回远端vps时
已经看不到上次npm run start的那个状态
没办法用ctrl+c来终止专案
每次都要用 lsof 来看 pid 再 kill
有点麻烦有点笨

查到有个小工具叫 PM2
很适合当前的需求
纪录一下 steps

1
全域安装
npm install pm2@latest -g
2
在专案根目录
pm2 start npm --name "my-app" -- run start
3
这样,即使终端会话结束,应用程序也会继续运行。
后续使用 PM2,可以列出所有运行中的应用程序、停止、重启或删除它们:
pm2 list
pm2 stop my-app
pm2 restart my-app
pm2 delete my-app

4
实际操作:
我的scripts长这样
"scripts": {
"devStart": "NODE_ENV=development node app.js",
"devDev": "NODE_ENV=development nodemon app.js",
"proStart": "NODE_ENV=production node app.js",
"prodev": "nodemon app.js",
"lint": "eslint "**/*.js" --fix",
"test": "mocha tests --exit --recursive --timeout 5000"
},

在vps生产环境上,我打算执行proStart
所以:
$ pm2 start npm --name 'pogo' -- run proStart

就会显示
[PM2] Spawning PM2 daemon with pm2_home=/root/.pm2
[PM2] PM2 Successfully daemonized
[PM2] Starting /root/.nvm/versions/node/v16.20.2/bin/npm in fork_mode (1 instance)
[PM2] Done.

并附赠一个精美表单 显示已列在PM2 的项目
http://img2.58codes.com/2024/20161704xNpVVGjxLs.png

后续管理,就可以直接使用
pm2 list
pm2 stop pogo
pm2 restart pogo
pm2 delete pogo
( pogo 不用加上’’)


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章