簡體   English   中英

使用 Heroku 和 PM2 部署 Node/Express 服務器

[英]Node/Express server deploy with Heroku and PM2

嘗試通過 PM2 添加集群功能並通過我的 Node/Express 應用程序進行部署。

我已經設置了以下命令:

pm2 start build/server/app.js -i max

以上在本地運行良好。 我正在通過 Performance 1X 在 Heroku 的暫存環境中測試該功能。

Heroku 日志

上面顯示了命令的日志,但嘗試 1 個實例而不是max 它在成功運行 pm2 start 后顯示典型信息,但是您可以看到應用程序隨后立即崩潰。

任何建議或指導表示贊賞。

我最終使用了以下文檔: 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",

我得到了同樣的錯誤,但我通過添加來修復它

{
"preinstall":"npm I -g pm2",
"start":"pm2-runtime start build/server/app.js -i 1"

}

到我的 package.json 文件這建議用於生產環境但正在運行

pm2 start build/server/app.js -i max

是為了開發目的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM