Node/Express 使用 Heroku 和 PM2 部署服务器
Node/Express server deploy with Heroku and PM2
正在尝试通过 PM2 添加集群功能并通过我的 Node/Express 应用程序进行部署。
我设置了以下命令:
pm2 start build/server/app.js -i max
以上在本地运行良好。我正在通过 Performance 1X 在 Heroku 上的暂存环境中测试功能。
上面显示了命令的日志,但尝试了 1 个实例而不是 max
。它在成功 运行 pm2 启动后显示典型信息,但是您可以看到应用程序立即崩溃。
如有任何建议或指导,我们将不胜感激。
我最终使用了以下文档:https://pm2.keymetrics.io/docs/integrations/heroku/
将 ecosystem.config.js
与以下内容一起使用:
module.exports = {
apps : [
{
name: `app-name`,
script: 'build/server/app.js',
instances: "max",
exec_mode: "cluster",
env: {
NODE_ENV: "localhost"
},
env_development: {
NODE_ENV: process.env.NODE_ENV
},
env_staging: {
NODE_ENV: process.env.NODE_ENV
},
env_production: {
NODE_ENV: process.env.NODE_ENV
}
}
],
};
然后下面的 package.json
脚本根据我要部署的环境处理部署,例如产量:
"deploy:cluster:prod": "pm2-runtime start ecosystem.config.js --env production --deep-monitoring",
正在尝试通过 PM2 添加集群功能并通过我的 Node/Express 应用程序进行部署。
我设置了以下命令:
pm2 start build/server/app.js -i max
以上在本地运行良好。我正在通过 Performance 1X 在 Heroku 上的暂存环境中测试功能。
上面显示了命令的日志,但尝试了 1 个实例而不是 max
。它在成功 运行 pm2 启动后显示典型信息,但是您可以看到应用程序立即崩溃。
如有任何建议或指导,我们将不胜感激。
我最终使用了以下文档:https://pm2.keymetrics.io/docs/integrations/heroku/
将 ecosystem.config.js
与以下内容一起使用:
module.exports = {
apps : [
{
name: `app-name`,
script: 'build/server/app.js',
instances: "max",
exec_mode: "cluster",
env: {
NODE_ENV: "localhost"
},
env_development: {
NODE_ENV: process.env.NODE_ENV
},
env_staging: {
NODE_ENV: process.env.NODE_ENV
},
env_production: {
NODE_ENV: process.env.NODE_ENV
}
}
],
};
然后下面的 package.json
脚本根据我要部署的环境处理部署,例如产量:
"deploy:cluster:prod": "pm2-runtime start ecosystem.config.js --env production --deep-monitoring",