2010-11-17 63 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