pm2托管npm命令:linux持久运行nodejs npm run服务(开机启动)
Author:zhoulujun Date:
如何让npm run serve在Linux后台持久运行?
如何让 vue项目在Linux后台持久运行 npm run dev?
一般网上 给出的是:nohup npm run dev &
但是pm2 用过后,肯定最香的!
pm2
官网:https://pm2.keymetrics.io/docs/usage/quick-start/
全局安装pm2
npm install -g pm2
运行node.js服务的时候,如果服务器不小心或者因为其他原因重启了,服务不会跟着重启,需要手动运行服务,这样肯定是很不方便的,当然可以通过shell脚本进行启动,不过这样的不利于服务管理。可以通过pm2进行管理。
管理命令
找到项目的目录,使用pm2进行启动
执行命令pm2 start 项目启动文件进行启动
$ pm2 start app.js $ pm2 start bashscript.sh $ pm2 start python-app.py --watch # 启动npm run dev $ pm2 start npm --watch -- run dev pm2 [list|ls|status] # 显示状态 pm2 logs # 查看所有进程日志 pm2 stop all # 停止所有进程 pm2 restart all # 重启所有进程 pm2 stop 0 # 停止进程 pm2 restart 0 # 重启进程 pm2 delete 0 # 删除进程 # 添加额外参数到脚本 -- arg1 arg2 arg3 # eg: pm2启动 npm run start pm2 start npm --name www -- run start
--name
pm2 start app.js --name xxx // 命名进程为xxx
我们一般用这个来命名服务,以方便管理。
添加额外参数到脚本
pm2 start app.js -i max // 指定有效CPU数目启动最大进程数目 pm2 start app.js -i 3 // 启动3个进程 pm2 start app.js -x // 用fork模式启动 app.js, 而不是使用 cluster pm2 start app.js --name xxxx // 启动一个进程并把它命名为 xxxx pm2 start app.json // 启动进程,在app.json里设置选项 pm2 start app.js -i max -- -a 23 // 在--之后给app.js传递参数 pm2 start app.js -i max -e err.log -o out.log // 启动并生成一个配置文件
保存当前列表
执行命令pm2 save保存现有列表数据,开机后会自动加载已保存的应用列表进行启动
pm2 save
设置开机启动
执行命令pm2 startup进行设置开机启动
sudo pm2 start xxxx #启动服务 sudo pm2 save # 保存服务 sudo pm2 startup # 把已启动服务加到systemd中 sudo pm2 unstartup systemd # 删除自动启动服务
注:自动启动适用于稳定代码版本,如果代码发生变动,需要重新save、startup,否则pm2启动可能报错:
查看开机启动项
systemctl status pm2-root
centos7 可以通过systemctl查看服务状态
日志查看
默认日志路径
/root/.pm2/logs/
参考文章:
pm2 设置开启自启 node.js应用开机启动相关命令 https://blog.csdn.net/biao0309/article/details/95391644
https://pm2.keymetrics.io/docs/usage/quick-start/pm2开机自启动
让npm run serve在Linux后台持久运行 https://www.cnblogs.com/zhangmingcheng/p/14085352.html
学习使用PM2管理nodejs进程 学习使用PM2管理nodejs进程https://www.cnblogs.com/tugenhua0707/p/10230975.html
pm2管理koa2项目 https://blog.csdn.net/finedayforu/article/details/115567794
转载本站文章《pm2托管npm命令:linux持久运行nodejs npm run服务(开机启动)》,
请注明出处:https://www.zhoulujun.cn/html/webfront/ECMAScript/nodejs/8828.html