如何通过AWS通过Apache服务器中的相同IP地址托管多个虚拟主机?

时间:2020-04-19 11:56:53

标签: amazon-web-services apache

我想在Apache(AWS)上托管两个不同的角度面板。因此,我使用000-default.conf禁用了etc/apache2/sites-available中的默认a2dissite 000-default.conf文件,并制作了两个文件webAdmin.confwebUIpanel.conf。现在,我的webAdmin.conf具有以下配置

<VirtualHost *:80>
   ServerAdmin webmaster@localhost
   DocumentRoot /var/www/html/AngularProjects/getItHomeNow_UI/dist

   ErrorLog ${APACHE_LOG_DIR}/error.log
   CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

webUIpanel.conf有以下

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/AngularProjects/getItHomeNow_UserPanel/dist

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

然后,我使用a2ensite启用了配置文件,最后启用了sudo systemctl restart apache2。但是其中一个同时工作。我需要禁用一个才能进行其他工作。请建议我哪里出问题了?

1 个答案:

答案 0 :(得分:0)

您应该在ServerName配置中添加VirtualHost,以便Apache可以决定哪个站点应该收到请求。因此,要将其应用于您的配置,它应该类似于:

webAdmin.conf

<VirtualHost *:80>
   ServerAdmin webmaster@localhost
   DocumentRoot /var/www/html/AngularProjects/getItHomeNow_UI/dist
   ServerName www.example1.com

   ErrorLog ${APACHE_LOG_DIR}/error.log
   CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

webUIpanel.conf有以下

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/AngularProjects/getItHomeNow_UserPanel/dist
    ServerName www.example2.com

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

注意:两个ServerName应该都是有效的域,以便它们解析到您的服务器或使用您的/etc/hosts文件将它们指向您的服务器IP。