AWS Elastic Beanstalk

本节指导你一步步将PM2集成到AWS Elastic Beanstalk环境中。

我们会用到GitElastic 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

注册AWS账户

为了获取access keys,需要创建IAM user

添加一个user

创建一个IAM user

选择Programatic access

选择Programatic access

选择ElasticBeanstalkFullAccess策略:

选择策略

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

访问密钥

access-idsecret-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环境

每个应用可以有多套环境,这对于分离开发环境,测试环境和生产环境很有用。

在创建环境之前,确保已经提交你所有的changeElastic 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。你也可以在PM2GitHub仓库提交问题或评论。