AWS eb deploy 更改 httpd.conf 虚拟主机文档根目录

AWS eb deploy Changes httpd.conf Virtual Hosts Document Root

我 运行 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>

有谁知道如何让我的子域正常工作?

通过 Elastic Beanstalk 的功能,我们手动对实例进行的任何更改都将暂时仅反映在该实例上。如果您 reboots/rebuilds 实例,更改将消失。

如果您希望更改在所有实例上永久应用,则需要使用 .ebextensions 文件夹以及该文件夹中的适当 .config 文件。您可以使用 .ebextensions 功能指定对服务器软件(apache、php 等)的配置更改。

.ebextensions 文件夹将始终是您的代码 .zip 文件的一部分。

您可以参考以下 link 以获得更多关于 .ebextensions 的帮助: https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.html