【发布时间】:2020-05-07 03:29:54
【问题描述】:
如何使用 pm2 运行 2 或 more node app? 我通过引用(https://stackoverflow.com/a/39316957/11983640)和其他链接尝试了不同的方式,但它没有发生。 有什么解决办法吗?
【问题讨论】:
-
你想用 pm2 运行多个节点项目?或者您想使用 pm2 在多个内核上运行相同的项目?
如何使用 pm2 运行 2 或 more node app? 我通过引用(https://stackoverflow.com/a/39316957/11983640)和其他链接尝试了不同的方式,但它没有发生。 有什么解决办法吗?
【问题讨论】:
我想你想用 pm2 不同的应用程序运行。对于这种情况,生成一个生态系统文件:
pm2 ecosystem
然后将您的脚本设置为随心所欲地运行。 一个例子:
生态系统.config.js
module.exports = {
apps : [{
name: 'MyNodeApp',
script: 'bin/www',
args: '',
instances: 1,
autorestart: true,
watch: true,
max_memory_restart: '1G',
env: {
NODE_ENV: 'development'
},
env_production: {
NODE_ENV: 'production'
}
},{
name: 'back-up',
script: './backup',
args: '',
instances: 1,
autorestart: true,
watch: true,
max_memory_restart: '1G',
env: {
NODE_ENV: 'development'
},
env_production: {
NODE_ENV: 'production'
}
}],
};
运行您的 pm2:
pm2 start ecosystem.config.js
使用上面的 eco 文件,我使用 pm2 启动了 2 个不同的应用程序,第一个是我的主应用程序(名称:MyNodeApp),第二个是备份脚本。
【讨论】:
如果你想在 pm2 上托管多个节点项目,你可以这样做
pm2 start path/to/first/node/project/main_file.js --name "project_1"
pm2 start path/to/another/node/project/main_file.js --name "project_2"
只要确保两个项目都在不同的端口上运行
【讨论】: