windows设置pm2开机服务自启动nodejs项目

PM2 是带有内置负载平衡器的 Node.js 应用程序的生产过程管理器。可以利用它来简化很多 Node 应用管理的繁琐任务,如性能监控、自动重启、负载均衡等。

安装部署

1、我们一般会把 pm2 安装到全局:

npm install pm2 -g

2、安装windows自启动包:

npm install pm2-windows-startup -g

3、创建开机启动脚本文件:

pm2-startup install

注意:并不是到第3步就可以了,需要4、5步操作完,开机启动才有效。

4、使用pm2启用项目(实现自启):

pm2 start 路径 --name 名称

例如:pm2 start ./app.js –name xsx

5、保存pm2中的项目:

pm2 save

注意:pm2 save很重要, 它保存当前 pm2 正在管理的 NodeJS 服务, 并在开机后恢复这些服务。

重启电脑可以查看( 以表格显示 ):

pm2 ls

如果要卸载服务,执行:

pm2-service-uninstall

常用命令

pm2 的服务都有一个数字 id,你可以用 id 快速操作它。下面以编号为 0 的服务为例(当然,把 id 换为应用名也是一样的):

pm2 start       # 启动一个服务,携带 --name 参数添加一个应用名,携带参数 --watch 将观察修改重启服务
pm2 list        # 列出当前的服务
pm2 monit       # 监视每个node进程的CPU和内存的使用情况
pm2 stop 0      # 停止服务(pm2 stop 名称或id)
pm2 stop all    # 停止所有服务进程
pm2 restart 0   # 重启服务(pm2 restart app.js)
pm2 restart all # 重启所有进程
pm2 delete 0    # 删除服务(pm2 delete app_name|app_id)
pm2 delete all  # 删除全部服务
pm2 logs        # 查看所有服务的输出日志
pm2 logs 0      # 查看服务的输出日志

更详细用法请看:https://github.com/Unitech/pm2

扩展阅读

pm2 以 windows 服务运行

通过上面 pm2-windows-startup 的方式【推荐】,我们在windows 服务里面是找不到 pm2 相关服务的,它是基于 start-on-windows-boot 在注册表中将 PM2 设为自启动程序,从而实现自启动。

而 pm2-windows-service 基于 node-windows 将 PM2 注册为 Windows 服务。

两种方案经测试,只有 pm2-windows-startup 在 Windows Server 2012 上可行,故选择 pm2-windows-startup 作为解决 Node.js 应用开机自启动的方案。

所以,这里只顺带说说 pm2 以 windows 服务运行的操作步骤:

1、npm i pm2 -g
2、npm i pm2-windows-service -g
3、安装服务:pm2-service-install -n myservice (安装后在windows服务中多了一个myservice的服务)
卸载命令:pm2-service-uninstall
4、设置环境变量:PM2_SERVICE_SCRIPTS = PM2 的配置文件
5、windows 服务中重新启动 myservice 服务
posted @ 2022-09-30 21:50  smile008  阅读(6582)  评论(1编辑  收藏  举报