3

我正在嘗試在AWS中設置兩個域(domain1.com和domain2.com)和幾個子域(app.domain1.com),並在單個實例上運行它們(亞馬遜Linux,PHP,MySQL)。如何在單個AWS EC2實例上託管多個域和子域

我已經在AWS Route53中設置了3個託管區域,並進行了以下配置。

託管區1:
domain1.com
A型
52.108.XX.YY

託管2區
domain2.com
A型
52.108。 XX.YY

託管3區
app.domain1.com
A型
52.108.XX.YY

此外,我已經添加以下代碼的http.conf文件在虛擬主機標籤。

<VirtualHost *:80> 
    ServerName domain1.com 
    DocumentRoot "/var/www/html/domain1" 
    ErrorLog "logs/domain1-error_log" 
    CustomLog "logs/domain1-access_log" common 
    </VirtualHost> 

    <VirtualHost *:80> 
    ServerName domain2.com 
    DocumentRoot "/var/www/html/domain2" 
    ErrorLog "logs/domain2-error_log" 
    CustomLog "logs/domain2-access_log" common 
    </VirtualHost> 

    <VirtualHost *:80> 
    ServerName app.domain1.com 
    DocumentRoot "/var/www/html/app" 
    ErrorLog "logs/app.domain1-error_log" 
    CustomLog "logs/app.domain1-access_log" common 
    </VirtualHost> 

但是,只有domain1.com和domain2.com得到解決。當我訪問app.domain1.com時,它給了我一個「無法找到服務器」的錯誤。請幫助如何設置子域 - 託管區域設置或httpd.conf中是否存在問題?

+1

您確定您的app.domain1.com解析爲52.108.XX.YY,請嘗試再次ping。 – error2007s

+0

你可以提供三個域名,以便我可以檢查問題嗎? – error2007s

+0

你是對的,它沒有解決正確的IP地址。您是否認爲我必須在Dreamhost(註冊商)上添加子域名併爲其提供NS Hosted Zone 3? – pradyotghate

回答

3

好了,約2個小時的閱讀了各種網站和修補後,我所有的設置。這是如何做到這一點。

基本上,你不應該有一個託管區域(HZ)每個域名,否則事情真的會很糟糕。如果您的域名超過1個HZ,請刪除爲子域名創建的域名。

每個HZ將有4條 -

以下兩個記錄默認情況下被創建。不要編輯/刪除它們。
NS - 這是名稱服務器記錄。如果AWS Route53不是您的註冊商,請使用ns-servernumber.awsdns-number.com.和其他三個(共4個)記錄更改註冊商的名稱服務器。
SOA - 讓這個記錄成爲。不要觸摸這個。

創建以下兩個記錄集(藍色按鈕)。
A - 請假姓名空白。選擇A-IPv4 address類型。在中輸入Elastic Load Balancer或EC2實例的IP地址。
CNAME - 在名稱字段中添加*(星號/通配符)。從下拉菜單中選擇CNAME類型輸入域名。

現在創建http.conf文件和結構虛擬主機,就像我在問題中所述。

事情現在應該工作:)

0

你可以按照這個鏈接教程:http://brianshim.com/webtricks/host-multiple-sites-amazon-ec2/

一個常見的錯誤,根據鏈接,方法是:

有用嗎?如果不是,這是一個可能的原因。可能有另一個配置文件干擾這一個。在/etc/httpd/conf.d中檢查 另一個.conf文件。 httpd.conf通常會在您的主目錄 中包含另一個.conf文件。製作 確保它沒有一些虛擬主機設置與您的設備衝突 。

在您設置的配置,你應該運行:

sudo service httpd restart 
+0

這不是他已經這樣做的答案。 – error2007s

+0

感謝分享分享文章。閱讀。但它看起來像一條路線53前的文章。它規定直接將域名指向IP地址,這不是AWS推薦的做法,因爲它將來無法使用Elastic Load Balancer進行擴展。 需要使用Route 53管理NS的這項工作的指導。 – pradyotghate

+0

沒有其他虛擬主機設置文件。重新啓動Apache。 – pradyotghate

0

這是可以做到的AWS-EC2實例安裝Apache HTTP服務器和配置虛擬主機每個DNS或次DNS由Amazonian

的建議

爲簡潔起見,請閱讀thread討論,此官員exampletechrepublic post


希望這有助於!

相關問題