我正在尝试在 Amazon 的 Elastic Beanstalk 中设置一个应用程序,并且我想使用子域作为应用程序的一部分。理想情况下,该子域将映射到文档根目录中的文件夹(即: http://test.mydomain.com从 /var/www/html/test 中提取源)。我可以在 Route 53 中为子域设置另一个别名记录,但是如何映射 Apache?
我能想到的唯一实现方法是直接通过 SSH 进入服务器,将 VirtualHost 条目添加到我的 httpd.conf,然后将该服务器转入 AMI 并重新部署到 EBS。这是唯一的选择吗?(似乎一定有更简单的方法)
谢谢!
答案1
使用 Elastic Beanstalk 无法实现这一点(至少在没有真正滥用它的情况下)。Elastic Beanstalk 是“即发即弃”类型的 PaaS 解决方案,旨在实现简单的部署。如果您确实需要这种类型的功能,请查看云形成它可以让你更细致地了解你的实例配置。
答案2
尝试以下链接。
在根目录下的 .ebextensions 目录中添加一个配置文件。
然后添加这个。
files:
"/etc/httpd/conf.d/vhost.conf":
mode: "000644"
owner: root
group: root
encoding: plain
content: |
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "/var/app/current/"
<Directory "/var/app/current/">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName your-custom-domain-here.com
DocumentRoot "/var/app/current/your-new-webroot"
<Directory "/var/app/current/your-new-webroot">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
更多信息请点击这里:
http://blog.celingest.com/en/2013/04/05/elastic-beanstalk-cloudflare-newrelic-virtualhost-2/