Elastic Beanstalk 的主机管理器无法启动 Apache,EBS 附加速度变慢



我正在设置一个Elastic Beanstalk实例,以便在Tomcat上运行Grails应用程序,并使用Apache为UI网页提供服务。web内容位于EBS卷上,该卷通过init.d脚本(mountec2vol)连接并装载在启动时。Apache的DocumentRoot就在这个卷上,/mnt/data/www。我的AMI映像基于默认的Beanstalk 64bit-Tomcat7-linux映像。

主机管理器似乎无法启动Apache,因为EBS卷需要一段时间(5-20秒)才能连接。这就是我在/opt/elasticbeanstall/var/log/bluepill.log中得到的内容:

W,[2012-09-19T18:06:15.366835#1283]警告--:[hostmanager:httpd]{:stdout=>"启动httpd:[FAILED]\r\n",:stderr=>"/etc/httpd/conf/httpd.conf第293行语法错误:\nDocumentRoot必须是目录",:exit_code=>1}

因此,我无法使web服务器联机,运行状况检查失败,实例被终止并重新创建。。。

我可以将主机管理器配置为延迟Apache启动,直到EBS卷用完?这是用弹性Beanstalk实例连接+装载EBS的正确方式吗?

还是我在这里做了一些不必要的困难。。。有更直接的方法吗?

Elastic Beanstalk是一个EC2实例,其行为方式相同。以下是关于您正在讨论的同一问题的一些讨论:https://forums.aws.amazon.com/message.jspa?messageID=304528#304528

如果您希望将静态内容存储在EBS卷上,那么在执行其他操作之前,请为您的EBS相关服务init脚本编写一些简单的处理程序,以检查装载卷的可用性。

然而,"云解决方案"可能是将内容存储到S3,并在需要时从那里加载。那么您就不需要单独的EBS进行存储了。

最新更新