PM2用配置文件管理多个Node.js项目!

一、问题简介

有多个 Node.js 进程需要一起管理时,各自需要的参数也不同时,创建一个配置文件来管理是最好的方案。


二、解决方案
1、生成基础版本配置文件
  • pm2 init simple :可以生成基础版本的配置文件:ecosystem.config.js

    // ecosystem.config.js
    module.exports = {
        apps: [{
            name: "app1",
            script: "./app.js"
        }]
    }
2、生成复杂版本的配置文件
  • pm2 init 等同于 pm2 ecosystem ,可以生成带有 deploy 属性的配置文件:ecosystem.config.js

    module.exports = {
        apps: [{
            script: 'index.js',
            watch: '.'
        }, {
            script: './service-worker/',
            watch: ['./service-worker']
        }],
    
        deploy: {
            production: {
                user: 'SSH_USERNAME',
                host: 'SSH_HOSTMACHINE',
                ref: 'origin/master',
                repo: 'GIT_REPOSITORY',
                path: 'DESTINATION_PATH',
                'pre-deploy-local': '',
                'post-deploy': 'npm install && pm2 reload ecosystem.config.js --env production',
                'pre-setup': ''
            }
        }
    };
  • 此版本配置适合远程配置服务器使用,实例查看这里!

3、使用配置文件
  • 启动、停止、重启、重载、删除配置文件中所有项目

    pm2 start ecosystem.config.js
    pm2 stop ecosystem.config.js
    pm2 restart ecosystem.config.js
    pm2 reload ecosystem.config.js
    pm2 delete ecosystem.config.js
  • 启动指定应用

    pm2 start   ecosystem.config.js --only api-app
    pm2 start     ecosystem.config.js --only "api-app,worker-app"

三、参考文档

你可能感兴趣的