如何在 EC2 上使用 PM2 正确 运行 多个 nodejs 应用程序?

How to properly run multiple nodejs app using PM2 on EC2?

在我的 EC2 上,我正在部署 2 个 nodejs 应用程序。

我之前正在做的是创建一个多屏幕和 运行 npm 运行 启动。

现在我正在尝试使用 PM2,我将它安装在 ec2 中并尝试了以下启动命令:

pm2 start --name "APP_NAME" npm -- start

过程 运行s 但我不认为这是我所期待的。 这是我在 package.json

中的 运行 脚本
"start": "env-cmd -f ./config/app.env node index.js"

我也尝试在 package.json 中添加 pm2 start 但按预期失败了。

这是我第一次尝试 PM2,所以我现在很迷茫。 提前致谢。

首先创建一个文件ecosystem.config.js:

module.exports = {
  apps : [
      {
        name: "myapp",
        script: "./app.js",
        watch: true,
        env: {
            "PORT": 3000,
            "NODE_ENV": "development"
        },
        env_production: {
            "PORT": 80,
            "NODE_ENV": "production",
        }
      }
  ]
}

之后你可以 运行 像这样:

pm2 start ecosystem.conf.js

用于处理 logs :

npm i pm2-logrotate  

pm2 install pm2-logrotate

之后你必须在你的主机中添加 pm2 作为服务。

pm2 startup

完成所有配置并检查 pm2 应用后:

pm2 status <instance number> 
pm2 logs

您可以将当前配置保存在 pm2 中:

pm2 save

关于 pm2 的更多详细信息startup