我正在设置一个 Elastic Beanstalk 实例以在 Tomcat 上运行 Grails 应用程序并使用 Apache 提供 UI 网页。Web 内容位于 EBS 卷上,该卷在启动时使用 init.d 脚本 ( mountec2vol ) 附加并挂载。Apache 的 DocumentRoot 位于此卷 /mnt/data/www 上。我的 AMI 映像基于默认的 Beanstalk 64bit-Tomcat7-linux 映像。
Hostmanager 似乎无法启动 Apache,因为 EBS 卷需要一段时间(5-20 秒)才能附加。这是我在 /opt/elasticbeanstalk/var/log/bluepill.log 中得到的:
W, [2012-09-19T18:06:15.366835 #1283] WARN -- : [hostmanager:httpd] {:stdout=>"Starting httpd: [FAILED]\r\n", :stderr=>"语法错误/etc/httpd/conf/httpd.conf 的第 293 行:\nDocumentRoot 必须是目录\n", :exit_code=>1}
因此,我没有让 Web 服务器联机,健康检查失败并且实例被终止并重新创建......
我可以将主机管理器配置为延迟 Apache 启动,直到 EBS 卷启动?这是使用 Elastic Beanstalk 实例附加+安装 EBS 的正确方法吗?
或者我在这里做了一些不必要的困难......有没有更直接的方法来做到这一点?