3

我正在从 DotCloud 迁移到 Elastic Beanstalk。

使用 DotCloud,他们清楚地解释了如何设置Python Worker以及如何使用supervisord

转向 Elastic Beanstalk,我不知道如何做到这一点。

我有一个脚本myworker.py,想确保它始终在运行。如何?

4

2 回答 2

2

Elastic Beanstalk 只是一个基于 EC2、ELB 和自动缩放的堆栈配置工具。您可以使用的一种方法是创建自己的 AMI,但自去年 10 月以来,还有另一种方法可能更适合您的需求:ebextensions。

.ebextension 只是您的应用程序中的一个目录,一旦您的应用程序被 AWS 加载,它就会被检测到。

这是完整的文档:http ://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers.html

于 2013-04-24T15:21:49.247 回答
0

对于Amazon Linux 2,您需要使用 .platform 文件夹来为弹性 beanstalk 提供安装脚本。

我们建议使用平台挂钩在您的环境实例上运行自定义代码。您仍然可以在 .ebextensions 配置文件中使用命令和容器命令,但使用起来并不容易。例如,在 YAML 文件中编写命令脚本可能很麻烦且难以测试。

因此,您应该在.platform 文件夹中添加一个 prebuild 挂钩(示例)来安装主管,并在每次部署后添加一个postdeploy 挂钩(示例)来重新启动主管。

脚本中使用了一个ini文件(示例) ;这是为 laravel 特定的。

.platform在部署项目之前,确保文件夹中的 .sh 文件是可执行的:

$ chmod +x .platform/hooks/prebuild/*.sh
$ chmod +x .platform/hooks/postdeploy/*.sh
于 2021-05-19T14:42:00.943 回答