Skip to content

启动应用

bash
pm2 start app.js

pm2 start bashscript.sh
pm2 start python-app.py --watch
pm2 start binary-file -- --port 1520

pm2 start app.js --name="fx67ll" 启动并命名为fx67ll,没有命名的话后续可以用id替代name
pm2 start app.js --watch 当文件变化时自动重启应用
pm2 start script.sh 启动bash脚本

# 常用参数
# Specify an app name
--name <app_name>

# Watch and Restart app when files change
--watch

# Set memory threshold for app reload
--max-memory-restart <200MB>

# Specify log file
--log <log_path>

# Pass extra arguments to the script
-- arg1 arg2 arg3

# Delay between automatic restarts
--restart-delay <delay in ms>

# Prefix logs with time
--time

# Do not auto restart app
--no-autorestart

# Specify cron for forced restart
--cron <cron_pattern>

# Attach to application log
--no-daemon

管理应用

bash
pm2 restart all 重启所有应用程序(停止Node.js应用程序的所有进程,并重新启动它们)
pm2 restart [app-id/app-name] 重启指定应用程序(停止Node.js应用程序的所有进程,并重新启动它们)
pm2 reload app_name // 不停止Node.js应用程序的情况下重新加载代码
pm2 stop all 停止所有应用程序
pm2 stop [app-id/app-name] 停止指定应用程序
pm2 delete all 关闭并删除所有应用程序
pm2 delete [app-id/app-name] 删除指定的应用程序

pm2 reset [app-id/app-name] 重置重启数量
pm2 startup 创建开机自启动命令
pm2 save 保存当前应用列表
pm2 resurrect 重新加载保存的应用列表
pm2 update 保存进程,杀死并重启进程,一般用于更新pm2版本

列出托管应用程序

bash
pm2 [list|ls|status]
pm2 list 查看所有启动的应用列表
pm2 show [app-id/app-name] 显示指定应用程序的所有信息

显示日志

bash
pm2 logs
pm2 log [app-id/app-name] 显示指定应用程序的日志信息
pm2 flush 清空所有日志文件

基于终端的仪表板

bash
pm2 monit

pm2.io:监控和诊断Web界面

基于 Web 的仪表板,带有诊断系统的跨服务器

bash
pm2 plus

生态系统文件

bash
# 创建一个名为生态系统文件的配置文件来管理多个应用程序。要生成生态系统文件
pm2 ecosystem
js
// ecosystem.config.js
module.exports = {
  apps : [{
    name: "app",
    script: "./app.js",
    env: {
      NODE_ENV: "development",
    },
    env_production: {
      NODE_ENV: "production",
    }
  }, {
     name: 'worker',
     script: 'worker.js'
  }]
}
bash
pm2 start ecosystem.config.js

服务器重启时重新启动应用程序

bash
cd /path/to/my/app
pm2 start env.js --watch --ignore-watch="node_modules"

更新

bash
npm install pm2@latest -g

pm2 update

上次更新于: