与AWS Elastic Beanstalk一起使用PM2

此页面将指导您逐步完成AWS Elastic Beanstalk环境中的PM2集成。

我们将使用Git和Elastic Beanstalk CLI。

准备您的应用

设置您的生态系统文件

以此生成一个 ecosystem.config.js模板:

  1. pm2 init

更改模板以满足您的需求:

  1. module.exports = {
  2. apps : [{
  3. name: "app",
  4. script: "./app.js",
  5. env: {
  6. NODE_ENV: "development",
  7. },
  8. env_production: {
  9. NODE_ENV: "production",
  10. }
  11. }]
  12. }

此处了解更多关于生态系统文件的教程。

将PM2添加为模块

将pm2作为依赖项添加到您的项目中。

使用npm:

  1. npm install --save pm2

使用yarn:

  1. yarn add pm2

设置您的package.json

在您的package.json中,修改启动脚本为:

  1. {
  2. "scripts": {
  3. "start": "node ./node_modules/.bin/pm2-runtime start ecosystem.config.js --env production"
  4. }

使用Elastic Beanstalk CLI进行部署

在AWS上创建一个帐户并获取您的访问密钥

这里注册AWS账户。

为获得访问密钥,您必须创建一个IAM用户。 您可以在这里进行。

添加一个用户:

创建一个IAM用户

给予它编程访问:

选择编程访问

选择 ElasticBeanstalkFullAccess策略:

选择编程访问

创建用户,您将获得您的访问密钥:

访问密钥

将您的 access-id和您的 secret-key复制粘贴到您的AWS配置文件 (~/.aws/config):

  1. [profile eb-cli]
  2. aws_access_key_id = YYYYYYYYYYYYY
  3. aws_secret_access_key = XXXXXXXXXXXXXXXXXXXXX

安装CLI

CLI可用于python包管理器pip:

  1. pip3 install --upgrade --user awsebcli

进一步的安装说明在这里

初始化您的Elastic Beanstalk应用

运行 eb init -p Node.js来初始化您的Node.js应用:

  1. eb init --profile eb-cli -p Node.js
  2. Select a default region
  3. 2) us-west-1 : US West (N. California)
  4. Select an application to use
  5. [ Create new Application ]
  6. Enter Application Name
  7. eb-pm2-example
  8. Application eb-pm2-example has been created.
  9. Do you want to set up SSH for your instances?
  10. (y/n): n

有关每个选项的说明,请参阅此处的AWS示例

创建一个Elastic Beanstalk环境

每个应用可有多个环境,这对于管理用于开发,测试或生产的独立环境很有用。

在创建环境之前,请确保提交您的更改。 Elastic Beanstalk使用 git archive从最近的git commit命令内容中创建一个.zip文件。

要创建一个新环境,请运行以下命令:

  1. eb create eb-pm2-example-env

列出所有可用的环境:

  1. eb list
  2. eb-pm2-example-env

获取环境信息和状态:

  1. eb status
  2. Environment details for: eb-pm2-example-env
  3. Application name: eb-pm2-example
  4. Region: us-west-2
  5. Deployed Version: app-4408-180305
  6. Environment ID: e-gekedaw
  7. Platform: arn:aws:elasticbeanstalk:us-west-1::platform/Node.js running on 64bit Amazon Linux/4.4.5
  8. Tier: WebServer-Standard-1.0
  9. CNAME: eb-pm2-example.us-west-2.elasticbeanstalk.com
  10. Updated: 2018-02-19 23:51:59.259000+00:00
  11. Status: Ready
  12. Health: Green

稍后,要部署最新的更改,请提交它们并运行 eb deploy <environment_name>eb deploy

您准备好了

就是这样! 运行 eb open在浏览器中打开您的应用。

下一步

使用 生态系统文件完成您的配置

使用 PM2 Plus在仪表板上监控您的应用

疑问?

我们一直乐于帮您解决可能遇到的问题。搜索我们的文档或查看常见问题的答案。您也可以在我们的社区论坛发布问题或评论。

原文: https://pm2.io/doc/zh/runtime/integration/elastic-beanstalk/