1

将您的 Elastic Beanstalk Linux 应用程序迁移到 Amazon Linux 2 - AWS Elastic Beanstalk

根据文档,aws:elasticbeanstalk:container:nodejs不再支持命名空间,新的设置方法NodeCommand是“使用 Procfile 或 package.json 文件中的 scripts 关键字来指定启动脚本。”。

我从来没有处理过 Procfiles 并且“package.json 文件中的脚本关键字”部分不是很清楚,他们是否会按顺序执行脚本,直到出现问题或什么?

有人知道如何在 Amazon Linux 2 中准确设置自定义 NodeCommand 吗?

4

1 回答 1

3

可以在package.json. 例如,如果您启动 EB 提供的示例 node.js 应用程序,则文件为:

包.json

{
  "name": "Elastic-Beanstalk-Sample-App",
  "version": "0.0.1",
  "private": true,
  "dependencies": {},
  "scripts": {
    "start": "node app.js"
  }
}

更新

文档有示例如何使用Procfile

您可以将 Procfile 添加到源包中以指定启动应用程序的命令,如以下示例所示。此功能替换 aws:elasticbeanstalk:container:nodejs 命名空间中的旧 NodeCommand 选项

web: node index.js

当您不提供 Procfile 时,如果您提供 package.json 文件,Elastic Beanstalk 将运行 npm start。如果您也没有提供,Elastic Beanstalk 会按此顺序查找文件 app.js 或 server.js 并运行它。

于 2020-09-26T01:53:40.593 回答