我有一个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
从任意文件夹启动时如何提取应用程序版本?
答案 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
}]
};