我运行一个AWS ElasicBeanstalk Apache服务器。有一个具有不同DocumentRoot的子域(请参见下文)。当我使用eb deploy
然后ssh进入计算机以手动更改/etc/http/conf/httpd.conf
文件时,一切正常。
如果我再次eb deploy
,则http.conf文件中的DocumentRoot
从"/var/www/html/sub/"
变为"/var/www/html/"
,其余的该文件保持不变。
我想eb deploy必须以某种方式重写httpd.conf文件,但是我对为什么只有文档根目录更改感到困惑。
<VirtualHost *:80>
ServerName example.com
DocumentRoot "/var/www/html/"
</VirtualHost>
<VirtualHost *:80>
ServerName sub.example.com
DocumentRoot "/var/www/html/sub/"
</VirtualHost>
有人知道我如何使子域正常工作吗?
答案 0 :(得分:0)
通过Elastic Beanstalk功能,无论我们对实例进行手动更改如何,它只会暂时反映在该实例上。如果重新启动/重建实例,则更改将消失。
如果要将更改永久应用于所有实例,则需要使用.ebextensions文件夹以及文件夹中的相应.config文件。您可以使用.ebextensions功能指定对服务器软件(apache,php等)的配置更改。
.ebextensions文件夹将一直是代码.zip文件的一部分。
您可以参考以下链接以获取有关.ebextensions的更多帮助: https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.html