在xshell里用node默认的启动方式有一个缺点,xshell退出后nodejs项目便会停止
使用pm2这个托管工具可以很好的解决这个问题,而且当代码有更改时会自动重启服务更新
启动PM2托管服务
1.首先多按两次ctrl +c结束之前的运行程序,接着输入下面的命令安装pm2并创建软链接
cnpm install pm2 -g
ln -s /usr/local/nodejs/bin/pm2 /usr/local/bin/pm2
2.然后输入下面的命令启动托管任务,abc为托管项目定义的名称
pm2 start app.js --name abc
设置开机启动PM2托管服务
1.保存当前进程状
pm2 save
2.生成开机自启动服务
pm2 startup
3.启用开机自启:
sudo systemctl enable pm2-root
4.检查pm2-root服务是否已经配置为开机启动:
sudo systemctl is-enabled pm2-root
如果返回enabled,则表示pm2已经设置为开机启动
pm2常用命令说明
| 功能 | 命令 |
|---|---|
| 启动(–name为定义任务名称的指令,abc为任务名称值) | pm2 start app.js --name abc |
| 启动( --watch为监听应用目录的变化的指令) | pm2 start app.js --watch |
| 重启任务 | pm2 restart app.js |
| 结束(abc为任务名称或id) | pm2 stop abc |
| 查看所有任务列表 | pm2 list |
pm2基本功能命令
| 功能 | 命令 |
|---|---|
| 启动进程/应用 | pm2 start bin/abc 或 pm2 start app.js |
| 重命名进程/应用 | pm2 start app.js --name abc |
| 添加进程/应用 | pm2 start bin/abc --watch |
| 结束进程/应用 | pm2 stop abc |
| 结束所有进程/应用 | pm2 stop all |
| 删除进程/应用 | pm2 delete abc |
| 删除所有进程/应用 | pm2 delete all |
| 列出所有进程/应用 | pm2 list |
| 查看进程/应用详情 | pm2 show abc 或 pm2 describe abc |
| 查看进程/应用资源消耗 | pm2 monit |
| 查看进程/应用日志 | pm2 logs abc |
| 查看所有进程/应用日志 | pm2 logs |
| 重新启动进程/应用 | pm2 restart abc |
| 重新启动所有进程/应用 | pm2 restart all |
pm2日志管理
pm2 日志管理及使用 pm2-logrotate 进行日志分割
pm2使用教程参考链接:
https://www.cnblogs.com/chyingp/p/pm2-documentation.html
https://www.jb51.net/article/113398.htm

本文介绍如何使用PM2工具稳定运行Node.js应用程序,包括安装PM2、设置开机启动、常用命令说明等,确保服务即使在Xshell关闭后仍能持续运行,并在代码更新时自动重启。
1万+

被折叠的 条评论
为什么被折叠?



