AWS Elastic Beanstalk
本节指导你一步步将PM2集成到AWS Elastic Beanstalk环境中。
我们会用到Git和Elastic Beanstalk CLI。
准备应用
配置ecosystem.config.js
创建ecosystem.config.js:
pm2 init
修改ecosystem.config.js模版:
module.exports = {
apps : [{
name: "app",
script: "./app.js",
env: {
NODE_ENV: "development",
},
env_production: {
NODE_ENV: "production",
}
}]
}
学习更多关于生态系统文件。
安装PM2
安装PM2到项目依赖:
npm install --save pm2
# with yarn
yarn add pm2
配置package.json
修改package.json中的scripts字段的start脚本:
"scripts": {
"start": "pm2-runtime start ecosystem.config.js --env production"
}
使用Elastic Beanstalk CLI部署
创建AWS账户,并获取access keys
为了获取access keys,需要创建IAM user。
添加一个user:

选择Programatic access:

选择ElasticBeanstalkFullAccess策略:

创建用户,会获得访问密钥:

将access-id和secret-key粘贴到你的AWS配置文件(~/.aws/config):
[profile eb-cli]
aws_access_key_id = YYYYYYYYYYYYY
aws_secret_access_key = XXXXXXXXXXXXXXXXXXXXX
安装CLI
可以使用python的包管理工具pip安装:
pip3 install --upgrade --user awsebcli
更多安装说明。
初始化Elastic Beanstalk应用
运行eb init -p Node.js初始化你的Node.js应用:
eb init --profile eb-cli -p Node.js
Select a default region
2) us-west-1 : US West (N. California)
Select an application to use
[ Create new Application ]
Enter Application Name
eb-pm2-example
Application eb-pm2-example has been created.
Do you want to set up SSH for your instances?
(y/n): n
有关每个选项的说明的AWS示例
创建一个Elastic Beanstalk环境
每个应用可以有多套环境,这对于分离开发环境,测试环境和生产环境很有用。
在创建环境之前,确保已经提交你所有的change。 Elastic Beanstalk使用git archive从最近的git commit命令内容中创建一个.zip文件。
运行下面的命令创建一个新环境:
eb create eb-pm2-example-env
列出所有可用的环境:
eb list
eb-pm2-example-env
获取环境信息和状态:
eb status
Environment details for: eb-pm2-example-env
Application name: eb-pm2-example
Region: us-west-2
Deployed Version: app-4408-180305
Environment ID: e-gekedaw
Platform: arn:aws:elasticbeanstalk:us-west-1::platform/Node.js running on 64bit Amazon Linux/4.4.5
Tier: WebServer-Standard-1.0
CNAME: eb-pm2-example.us-west-2.elasticbeanstalk.com
Updated: 2018-02-19 23:51:59.259000+00:00
Status: Ready
Health: Green
之后,要部署最新的
change,提交它们并运行eb deploy <environment_name>或eb deploy。
准备好了
这样就结束了,运行eb open在浏览器中打开你的应用。
下一步
完成生态系统文件配置
使用PM2 Plus在仪表板上监控你的应用
问题
我们很乐于帮你解决你可能遇到的问题。搜索或查看FAQ。你也可以在PM2的GitHub仓库提交问题或评论。