pm2应用程序版本不可用

时间:2018-11-07 13:21:14

标签: node.js pm2

我有一个Express服务器,其中package.json包含bin部分,以创建运行该应用程序的链接。

我想使用pm2运行服务器,并生成了如下的生态系统文件:

module.exports = {
  apps : [{
    name: 'myServer',
    script: 'myserver',
    max_memory_restart: '500M',
    env: {
      NODE_ENV: 'development',
      USER_CONFIG_FILE: '/etc/myserver/myserver-config.json'
    },
    env_production: {
      NODE_ENV: 'production'
    },
    disable_logs: true
  }]
};

该生态系统文件位于用户的主文件夹中(因为它将包含所有应用程序),并且当我运行pm2 start时,服务器会正​​确启动,但是app表的version列显示不适用。

我还尝试将cwd字段添加到生态系统文件中,该字段设置为服务器安装目录。

pm2仅在我从服务器安装文件夹中运行pm2 start main.js时正确显示应用程序版本。

有什么方法可以告诉pm2从任意文件夹启动时如何提取应用程序版本?

1 个答案:

答案 0 :(得分:0)

我找到了一种解决方法,避免使用通过bin部分创建的链接。我使用生态系统字段cwd指向包含package.json的文件夹,并将script设置为主脚本的名称。

module.exports = {
  apps : [{
    name: 'myServer',
    cwd: '/path/to/app/',
    script: 'index.js',
    max_memory_restart: '500M',
    env: {
      NODE_ENV: 'development',
      USER_CONFIG_FILE: '/etc/myserver/myserver-config.json'
    },
    env_production: {
      NODE_ENV: 'production'
    },
    disable_logs: true
  }]

};