PM2 应用程序版本不可用

Mar*_*zzi 5 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
  }]
};
Run Code Online (Sandbox Code Playgroud)

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

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

pm2pm2 start main.js仅当我从服务器安装文件夹内运行时才能正确显示应用程序版本。

有没有办法告诉pm2从任意文件夹启动时如何提取应用程序版本?

Mar*_*zzi 1

我找到了一种解决方法,避免使用通过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
  }]
Run Code Online (Sandbox Code Playgroud)

};