2010-11-17 85 views
25

如何在Amazon EC2上创建子域名?在Amazon EC2中创建子域名

在httpd.conf中添加虚拟主机就够了..还是需要做其他任何修改?

谢谢

+0

你可以做任何你喜欢的EC2。也许如果你有资格提出你的问题,你可能会得到答案。 – leonm 2010-11-17 10:50:46

+0

谢谢leonm我现在编辑了这个问题.. – 2010-11-17 11:56:08

回答

48

取决于您的服务器软件。但是正如你提到的httpd.conf,在Linux发行版上运行Apache是​​很好的机会。如果是这种情况,那么是的,添加虚拟主机就足够了。这里有一种方法:

  1. 购买域名。如果你有,请跳过这一点,我们将以example.com为例。
  2. 找到您的EC2实例的外部IP或DNS。您可能希望将Elastic IP关联到您的实例,否则您的实例的IP将在重新启动时更改。
  3. 创建DNS记录为您的域名,例如CNAME记录指向您的弹性IP/DNS名称:

    subdomain.example.com => ec2-xx-xxx-xxx-xxx.eu-west-1.compute.amazonaws.com

  4. 确保你的httpd.conf中包含一条线,让虚拟主机:

    NameVirtualHost *:80

  5. 创建一个虚拟主机的指令:

的httpd.conf:

<VirtualHost *:80> 
    ServerName subdomain.example.com 
    ServerAdmin [email protected] 

    DocumentRoot /var/www/example.com/subdomain 

    <Directory /var/www/example.com/subdomain> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride All 
    Order allow,deny 
    allow from all 
    </Directory> 

    ErrorLog /var/log/apache2/subdomain.example.com.error.log 
    LogLevel warn 
    CustomLog /var/log/apache2/subdomain.example.com.access.log combined 
</VirtualHost> 

6.重启Apache

/etc/init.d/apache2 restart 
+0

谢谢@cvaldemar。我正在尝试做同样的事情,但我使用ispconfig作为控制面板。当我宣布虚拟主机它创建的虚拟主机配置的Apache2的网站可用文件夹,但它创建的条目是这样的 - '<虚拟主机my_elastic_ip_address:80>' 和子域开始读根站点文件夹,而不是期望的子域的文件夹。当我编辑这一行,并重写像这样 '' 它开始工作得很好。你能帮我理解造成这种行为的原因吗? 对不起,我是服务器管理的noob。 – streak 2014-04-14 09:21:45

+0

只是好奇 - 如果我还没有自己的域名,我可以配置Amazon EC2有多个指向我的EC2实例的ec2-xx-xxx-xxx-xxx.region-x.compute.amazonaws.com地址?因此,我可以在单个EC2实例上使用VirtualHosts开发和测试多个Web应用程序。 – JustAMartin 2016-02-14 18:26:56

+1

**版本说明:**在Apache版本2.4+中,'NameVirtualHost'没有任何作用。另外,使用'Option Indexes'是危险的;改用'Option -Indexes'来防止目录列表。 – Raptor 2016-07-11 04:01:17