繁体   English   中英

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

[英]how to host multiple virtual hosts from same IP address in Apache server over AWS?

我想在 Apache (AWS) 上托管两个不同的 angular 面板。 因此,我使用a2dissite 000-default.conf禁用了etc/apache2/sites-available中的默认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 但他们中的一个同时工作。 我需要禁用一个才能使其他工作。 请建议我 go 哪里错了?

您应该在VirtualHost配置中添加ServerName ,以便 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。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM