PM2
pm2是一个进程管理工具,可以用它来管理node项目进程,并查看node进程的状态,当然也支持性能监控,进程守护,负载均衡等功能
这里主要是借用它的进程守护的功能:继承守护是一个城村周期比较长的进程,通常独立与控制终端并且周期性地执行模中任务或者等待处理某些待发生的事情
我在本地开发的时候,运行的项目在放置一晚之后会自动停止。想来PM2就是解决这个问题:防止程序在服务器上运行的时候因为一些问题挂掉。
PM2还自带日志功能
常用命令
pm2 start app.js/配置文件
pm2 list
pm2 restart <AppName>/<id>
pm2 stop/delete <AppName>/<id>
pm2 info
pm2 monit
监听内存信息
参考:pm2常用命令
常见问题
1. pm2启动程序之后在一段时间后会报错
pm2虽然也可以直接执行一些node文件,但是如果你的程序中有些变量是基于开发环境变化的,那么需要通过pm2的配置文件来设置入口文件和环境变量
status会在一段时间后变为errored,也是环境变量没有配置的原因。
一般开发的时候都会使用cross-env
设置开发环境变量NODE_ENV
,以区别开发环境和线上环境。
而pm2无法通过执行的时候无法传入相关环境参数,只能通过相应的配置文件来使用。ecosystem.config.js
将配置文件放在项目根目录下,使用pm2执行这个文件即可。