1. 程式人生 > >Nginx總結(四)基於域名的虛擬主機配置

Nginx總結(四)基於域名的虛擬主機配置

前面講了如何安裝配置Nginx,大家可以去這裡看看nginx系列文章:https://www.cnblogs.com/zhangweizhong/category/1529997.html

今天要說的是Nginx如何基於域名配置虛擬主機。

 

應用場景

兩個域名指向同一臺nginx伺服器,使用者訪問不同的域名顯示不同的網頁內容。

兩個域名是aaa.test.com和bbb.test.com

nginx伺服器使用虛擬機器192.168.78.132

 

準備環境

1. 建立192.168.78.132虛擬機器,保證本地電腦和虛擬網路通暢。

2. 在192.168.78.132上安裝nginx。

3. 通過host檔案指定aaa.test.com和bbb.test.com對應192.168.78.132虛擬機器:

修改window的hosts檔案:(C:\Windows\System32\drivers\etc)

192.168.78.132 aaa.test.com
192.168.78.132 bbb.test.com

 

html目錄建立

1. 在192.168.101.3上建立/usr/local/aaa_html,此目錄為aaa.test.com域名訪問的目錄

2. 在192.168.101.3上建立/usr/local/bbb_html,此目錄為bbb.test.com域名訪問的目錄

3. 將/usr/local/nginx/html中的內容拷貝分別拷貝到上邊兩個目錄中,為了方便測試需要修改每個目錄下的index.html內容使之個性化。

 

配置虛擬主機

修改/usr/local/nginx/conf/nginx.conf檔案,新增兩個虛擬主機,如下:

#配置虛擬主機aaa.test.com
server {

    #監聽的ip和埠,配置本機ip和埠
    listen 192.168.101.3:80;         

    #虛擬主機名稱是aaa.test.com,請求域名aaa.test.com的url將由此server配置解析
    server_name aaa.test.com;  

    #所有的請求都以/開始,所有的請求都可以匹配此location
    location / {
        #使用root指令指定虛擬主機目錄即網頁存放目錄
        #比如訪問http://ip/test.html將找到/usr/local/aaa_html/test.html

        #比如訪問http://ip/item/test.html將找到/usr/local/aaa_html/item/test.html
        root /usr/local/aaa_html;       

        #指定歡迎頁面,按從左到右順序查詢
        index index.html index.htm;   
    }
}

#配置虛擬主機bbb.test.com
server {
    listen 192.168.101.3:80;
    server_name bbb.test.com;

    location / {
        root /usr/local/bbb_html;
        index index.html index.htm;
    }
}

 

測試

分別訪問aaa.test.com、bbb.test.com,看效果如何: 

 

 

最後

以上, 就把nginx基於域名的虛擬主機配置說完了。通過這三篇文章,介紹了nginx配置虛擬主機的三種方式,分別是基於ip 的虛擬主機配置,基於埠的虛擬主機配置和基於域名的虛擬主機配置。

其中最常用的還是基於域名的虛擬主機配置。

&n