node.js - 如何在 EC2 上使用 PM2 正确运行多个 nodejs 应用程序?
问题描述
在我的 EC2 上,我正在部署 2 个 nodejs 应用程序。
我之前做的是创建一个多屏并运行 npm run start。
现在我正在尝试使用 PM2,我将它安装在 ec2 中并尝试了以下启动命令:
pm2 start --name "APP_NAME" npm -- start
该过程运行,但我认为这不是我所期望的。这是我在package.json中的运行脚本
"start": "env-cmd -f ./config/app.env node index.js"
我还尝试在package.json中添加添加 pm2 start但按预期失败。
这是我第一次尝试 PM2,所以我现在很迷茫。提前致谢。
解决方案
首先创建一个文件生态系统.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
用于处理日志:
npm i pm2-logrotate
或者
pm2 install pm2-logrotate
之后,您必须在主机中添加 pm2 作为服务。
pm2 startup
在所有配置和检查 pm2 应用程序之后:
pm2 status <instance number>
pm2 logs
您可以使用以下命令将当前配置保存在 pm2 中:
pm2 save
有关 pm2启动的更多详细信息
推荐阅读
- python - Python Matplotlib 图形在 X 轴上显示不正确的范围
- python - 通过将操纵杆值发送到数组来通过套接字流式传输 pygame 操纵杆输入
- javascript - 固定导航栏下方的 MUI 应用栏和模糊内容
- asp.net-mvc - 如何使用 ViewBag 从视图回发多个选择选项到控制器?
- scikit-learn - Yellowbrick 实现错误 - AttributeError:“LogisticRegression”对象没有属性“fig”
- node.js - 如何构建我的 Mongoose 模式以将用户的输入修补为数组中的对象?
- r - 我似乎无法更改变量的数据
- ruby-on-rails - 如何检查是否存在带参数的行,如果存在则回滚事务?[RoR 6]
- android - MANAGE_EXTERNAL_STORAGE(所有文件访问)权限是否存在?
- reactjs - 如果 param 未定义,Typescript 无法告诉我提前返回