小编Ben*_*rne的帖子

.ebextensions 配置命令中的作业控制/后台进程(使用和号)

以 .ebextensions/ 中的以下 .config 文件为例

container_commands: 
  000_run_queue_daemon: 
    command: "nohup php artisan queue:work --daemon &"
    test: "ps -ef | grep artisan | grep -v grep > /dev/null || echo 1"
Run Code Online (Sandbox Code Playgroud)

如果守护程序尚未运行,请启动队列工作器。队列工作者守护进程永远运行(按设计),因此需要作为后台进程运行。

&符号似乎没有效果,尾随 cfn-init.log 只是停在

2014-09-15 00:24:53,921 [DEBUG] Running test for command 000_run_queue_daemon
2014-09-15 00:24:53,929 [DEBUG] Test command output: 1

2014-09-15 00:24:53,929 [DEBUG] Test for command 000_run_queue_daemon passed
Run Code Online (Sandbox Code Playgroud)

然后一直如此,直到 EB 进程超时并放弃部署。

我怎样才能让它作为后台进程运行?

background-process amazon-web-services elastic-beanstalk

7
推荐指数
1
解决办法
2015
查看次数

Elastic Beanstalk Auto Scaling 在将应用程序从 ondeck 移动到当前之前添加节点

当我的组中的自动缩放规则触发新 EC2 实例的部署时,或者例如我更改实例大小以模拟部署节点的行为,但在应用程序准备就绪之前将其添加到负载均衡器。

部署开始,.ebextensions 中的脚本开始执行。名为 current 的文件夹是空的,因为它是第一次部署到此节点,因此访问此节点会在浏览器中显示 403 Forbidden 错误。

最终应用程序部署完成并且 ondeck 文件夹按预期移动到 current 中,此时应用程序可以工作并且 403 错误消失。

这里的问题是节点在此过程完成之前被添加到负载均衡器,因此一些流量被分配到损坏的节点。

有什么办法可以阻止这种情况发生吗?难道我做错了什么?

amazon-web-services elastic-beanstalk

3
推荐指数
1
解决办法
913
查看次数