【问题标题】:How to configure multiple Virtual Hosts on AWS EC2 Running Ubuntu? [closed]如何在运行 Ubuntu 的 AWS EC2 上配置多个虚拟主机? [关闭]
【发布时间】:2013-04-29 13:40:05
【问题描述】:

我正在尝试为我的 EC2 实例配置一个虚拟主机。我在我的 EC2 实例和 apache2 上使用 ubuntu 作为 Web 服务器。

我在 /var/www 的 3 个不同文件夹中有 3 个应用程序(基于 Web): - /var/www/app_A - /var/www/app_B - /var/www/mywebsite

我希望人们只能使用http://my.ip.address/app_Ahttp://my.ip.address/app_B 中的IP 地址(我已将弹性IP 附加到我的EC2 实例)访问app_A 和app_B。至于 /var/ww/mywebsite 中的应用程序,我希望人们能够通过我的域 mywebsite.com 访问它。我已将域指向我的 EC2 IP 地址 (my.ip.address)。

我知道我必须创建虚拟主机才能实现这一点,但我在这方面真的很陌生。我一直在尝试谷歌解决方案,并尝试了几种解决方案,但一直失败。

请告诉我如何正确设置虚拟主机,以便我可以实现上面写的目的。

【问题讨论】:

    标签: ubuntu amazon-ec2 apache2 virtualhost


    【解决方案1】:

    这很简单,因为您已经安装了 apache,您将能够看到一个名为:/etc/apache2/sites-enabled/000-default 的文件,它指向您在 var 中的 www 文件夹。这个想法是 apache 将其作为主配置文件,因此您可以根据需要定义任意数量的 .conf 文件,因此您可能想要这样的东西:

    /etc/apache2/sites-enabled/
    ├── 000-default -> ../sites-available/default
    └── subsystems
        └── appA.conf
        └── appB.conf
        └── appMyWebSite.conf
    

    所以它更容易处理,因为您将所有内容分割成几个 conf 文件,数量不限。

    现在,那些必须有什么?这取决于您需要什么,但这几乎是您需要的:

    <Directory "/var/www/mywebsite.com/">
        Options Indexes Includes FollowSymLinks MultiViews +ExecCGI
        AddHandler cgi-script cgi pl
        AllowOverride All
        Order allow,deny
        Allow from all
        DirectoryIndex index.cgi index.html
    </Directory>
    
    <VirtualHost *:80>
        ServerName mywebsite.com
        ServerAdmin youremail@provider.com
        SetEnv VAR_IF_YOU_NEED_ONE VALUE
        RewriteEngine on
    
        DocumentRoot "/var/www/mywebsite.com/"
    
        LogLevel warn
        ServerSignature Off
    
        #And whatever you need take a look to apache documentation
    </VirtualHost>
    

    因此您可以将您的域名指向相同的服务器 IP 地址,Apache 将根据这些域名的名称进行处理(即所有域的相同 IP)

    希望这会有所帮助。

    【讨论】:

    • 我认为这个答案遗漏了最后一个关键步骤,即创建一个从sites-enabledsites-available 中定义的任何新站点的符号链接。无论如何,我必须这样做。
    • @cdmo 或者,如果可用,请使用“a2ensite”命令,它会为您设置该符号链接,并且可能会进行一些错误检查。
    • 如果你没有域名,只想访问ipaddress:port,在不同的端口上有不同的项目怎么办?
    猜你喜欢
    • 2021-11-01
    • 2016-09-27
    • 2023-03-15
    • 2015-06-13
    • 2016-03-03
    • 1970-01-01
    • 2014-01-28
    • 2018-03-27
    • 2014-02-09
    相关资源
    最近更新 更多