You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

同一服务器启动多PM2实例,分离UAT与生产环境的方法问询

同一服务器启动多PM2实例(分离UAT/生产环境)指南

核心原理:通过PM2_HOME环境变量隔离实例

PM2的所有配置、进程数据都存放在PM2_HOME指定的目录下,给不同环境设置不同的PM2_HOME路径,就能实现完全隔离的PM2实例。

1. 设置PM2_HOME的方式

无需修改全局系统变量,每次操作对应环境的PM2前,临时指定环境变量即可:

  • Linux/macOS:
    • UAT环境:
      export PM2_HOME=~/.pm2-uat
      
    • 生产环境:
      export PM2_HOME=~/.pm2-prod
      
  • Windows:
    • UAT环境:
      set PM2_HOME=C:\Users\你的用户名\.pm2-uat
      
    • 生产环境:
      set PM2_HOME=C:\Users\你的用户名\.pm2-prod
      

建议把上述命令写入各自环境的启动脚本(比如start-uat.sh/start-prod.cmd),避免每次手动输入。

2. 启动对应环境的PM2实例

设置好PM2_HOME后,正常执行PM2命令即可,该环境的所有进程、配置都会独立存储在指定目录中:

  • 启动UAT环境应用:
    export PM2_HOME=~/.pm2-uat
    pm2 start app.js --name uat-app
    
  • 启动生产环境应用:
    export PM2_HOME=~/.pm2-prod
    pm2 start app.js --name prod-app
    

3. 关于pub.sock和rpc.sock的说明

不需要手动创建这两个文件!PM2启动后,会自动在当前PM2_HOME目录下生成这两个用于进程通信的文件,只要正确设置PM2_HOME并启动PM2,它们就会自动出现。

4. 不同环境PM2实例的常用命令示例

所有操作都需先指定对应环境的PM2_HOME:

  • 查看UAT环境进程列表:
    export PM2_HOME=~/.pm2-uat && pm2 list
    
  • 重启生产环境指定应用:
    export PM2_HOME=~/.pm2-prod && pm2 restart prod-app
    
  • 保存UAT环境进程列表(用于开机自启):
    export PM2_HOME=~/.pm2-uat && pm2 save
    
  • 设置UAT环境PM2开机自启:
    export PM2_HOME=~/.pm2-uat && pm2 startup
    

内容的提问来源于stack exchange,提问作者jerryjer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 17:56:09