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仓库提交问题或评论。