如何在 Amazon Elastic Beanstalk 上配置 Apache

如何在 Amazon Elastic Beanstalk 上配置 Apache

我的 PHP5.3 应用程序目前运行在运行 XAMPP 1.7.7 的 Windows 2003 服务器上。我决定最好将其移到云上,而 Amazon Elastic Beanstalk 看起来是最简单的方法。我从运行 PHP 5.3 容器的 64 位 Amazon Linux 开始。我的下一步是使用 htpasswd 文件限制对网站的访问。我宁愿不使用 .htaccess 文件。如何配置 Beanstalk Apache conf 文件设置(在 Windows 上,设置存储在 httpd.conf 中)?

答案1

AWS 的 Ryan 表示:我们目前不支持客户通过 Elastic Beanstalk 服务/控制台修改 httpd.conf 文件。

但是,启动 Elastic Beanstalk 环境后,您可以直接登录 EC2 实例,对 /etc/httpd/sites/your-application 进行修改(这是在 Amazon Linux 的 Apache 安装中管理站点配置的方式)。从那里,您可以从正在运行的实例创建新的 AMI。

记下 AMI ID,然后您可以重新配置运行环境以使用新的 AMI ID 而不是默认 AMI ID。对于想要在我们的服务之外自定义 Elastic Beanstalk 环境的用户,这是我们推荐的方法。

http://docs.amazonwebservices.com/elasticbeanstalk/latest/dg/using-features.customami.html

答案2

现在可以使用配置文件配置 Elastic Beanstalk。支持 Java/Python/Ruby。PHP 和 .NET 支持即将推出。

http://www.infoq.com/news/2012/11/elastic-beanstalk-config-files

答案3

最近我不得不禁止无效的请求HTTP_主机通过修改标题Apache 配置

为此我添加了自定义.ebexternsion/wsgi.conf文件并使用以下命令来更新/etc/httpd/conf.d/wsgi.conf文件

command: "cp .ebextensions/wsgi.conf /etc/httpd/conf.d/wsgi.conf"

这不起作用。但显然当我使用相对路径更新 wsgi.conf 时,它开始起作用了,如下所示。

command: "cp .ebextensions/wsgi.conf ../wsgi.conf

我不确定这是如何开始起作用的,也不确定它是否是一个突出的解决方案,但它确实起作用了。

**更新**
因此在下一次部署中我丢失了 Apache 配置。所以不需要尝试这种方法。

相关内容