常用命令
pm2 stop all
pm2 list
pm2 restart all
// 启动app.js应用程序
pm2 start app.js
// cluster mode 模式启动4个app.js的应用实例 # 4个应用程序会自动进行负载均衡
pm2 start app.js -i 4
// 启动应用程序并命名为 "api"
pm2 start app.js --name="api"
// 当文件变化时自动重启应用
pm2 start app.js --watch
// 启动 bash 脚本
pm2 start script.sh
// 列表 PM2 启动的所有的应用程序
pm2 list
// 显示每个应用程序的CPU和内存占用情况
pm2 monit
// 显示应用程序的所有信息
pm2 show [app-name]
// 显示所有应用程序的日志
pm2 logs
// 显示指定应用程序的日志
pm2 logs [app-name]
pm2 flush
// 停止所有的应用程序
pm2 stop all
// 停止 id为 0的指定应用程序 $
pm2 stop 0
// 重启所有应用
pm2 restart all
// 重启 cluster mode下的所有应用
pm2 reload all
// Graceful reload all apps in cluster mode
pm2 gracefulReload all
/ 关闭并删除所有应用
pm2 delete all
// 删除指定应用 id 0
pm2 delete 0
// 把名字叫api的应用扩展到10个实例
pm2 scale api 10
// 重置重启数量
pm2 reset [app-name]
// 创建开机自启动命令
pm2 startup
// 保存当前应用列表
pm2 save
// 重新加载保存的应用列表
pm2 resurrect
// Save processes, kill PM2 and restore processes
pm2 update
// Generate a sample json configuration file
pm2 generate
pm2 start app.js --node-args="--max-old-space-size=1024"
run项目
(1)pm2启动 server.js 服务
pm2 start /root/project/blog/server/server.js --name blog_server
(2)pm2启动 app 项目
pm2 start /root/project/blog/scripts/start.js --name blog_app
(需耐心等待 pm2启动 app项目) 若是项目未启动成功:
方法一
1.yarn dev 先把项目跑起来(3000端口)
2.pm2 start /root/project/blog/scripts/start.js --name blog_app (pm2 logs id -> Something is already running on port 3000.)
3.netstat -tunlp | grep 3000
4.kill -9 pid
5.pm2 list
6.OK
方法二
1.pm2 start /root/project/blog/scripts/start.js --name blog_app
2.netstat -tunlp | grep 3000
3.kill -9 pid
4.pm2 list
5.OK
其它补充
pm2启动后端服务进程
(1)
npm i esm –save
(2)
方法一:pm2 start index.js --node-args="-r esm" (服务端index.js 入口文件)
方法二:pm2 start index.config.js (配置config文件,需要进入当前文件夹启动,不能用下面绝对路径方法,有bug) // cat index.config.js
// cat index.config.js
module.exports = {
apps: [{
name: 'index_server',
script: 'index.js',
node_args: '-r esm',
instances: 1,
exec_mode: "fork",
wait_ready: false,
watch: false,
listen_timeout: 8000,
kill_timeout: 3000
}] }
绝对路径方法:
pm2 start /root/life/server/index.js --name life_server