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