如何在 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
在我的 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