我正在撞墙试图安装然后启用弹性豆秆服务。我想做的是:
在/etc/init.d
中安装指向/opt/python/current/app/
让Elastic Beanstalk按照.ebextensions/myapp.config
文件中的指定启动并保持活动状态。
这是我的.ebextensions/myapp.config
文件:
container_commands:
01_copy_service:
command: "cp /opt/python/ondeck/app/my_service /etc/init.d/"
02_chmod_service:
command: "chmod +x /etc/init.d/my_service"
services:
sysvinit:
my_service:
enabled: true
ensureRunning: true
files : [/etc/init.d/my_service]
此操作失败,因为服务在container_commands之前运行。如果我注释掉服务,部署,然后取消注释服务,然后再次部署,它将起作用。但我希望进行单步部署,因为这将是一个自动缩放节点。
有解决方案吗?谢谢!
答案 0 :(得分:4)
Nate,我和你的情况完全一样,我这样解决了:
放弃"服务"部分并添加"重启"命令。
container_commands:
...
03_restart_service:
command: /sbin/service my_service restart
答案 1 :(得分:2)
使用commands:
项下的services:
键,可以在运行命令后重新启动服务。 services:
密钥的文档位于:
答案 2 :(得分:1)
我自己没有这样做,但我想给你一些应该有用的想法。这只是方便和工作流程的问题。
由于它不是真正的应用程序文件,而是EC2文件,并且不太可能经常更改,您可以执行以下操作之一:
files content
创建服务初始化脚本。您甚至可以为该脚本提供特定的配置文件。希望它有所帮助。