nginx配置虛擬主機-端口號區分/域名區分

Nginx實現虛擬機

能夠實如今同一臺服務運行多個網站,並且網站之間互相不干擾。同一個服務器可能有一個ip,網站須要使用80端口。網站的域名不一樣。html

區分不一樣的網站有三種方式:ip區分、端口區分、域名區分,顯然經過IP區分是不太現實的,這裏只驗證後兩種方式nginx

1.配置nginx基於端口號的虛擬主機瀏覽器

1.1 nginx配置文件中添加一個server節點,這裏server節點的域名都是localhost,只是端口號不一樣服務器

 

1.2 將 /usr/local/nginx/路徑下的html目錄複製一份,命名爲html81tcp

修改html目錄下的index.html以下:測試

hml81目錄下的index.html修改以下:網站

1.3 從新加載配置文件:spa

cd /usr/local/nginx/bin.net

./nginx -s reload 3d

而後測試虛擬主機:

經過瀏覽器訪問80端口的虛擬主機:

經過瀏覽器訪問81端口的虛擬主機:

 

注意:若是81端口訪問不通,有多是被防火牆攔截了!開放81端口便可:

 [root@localhost nginx]# /sbin/iptables -I INPUT -p tcp --dport 81 -j ACCEPT

[root@localhost nginx]# /etc/rc.d/init.d/iptables save

 2.nginx配置基於域名區分的虛擬主機——最有用的虛擬主機配置方式。

咱們平時訪問淘寶時只須要在瀏覽器地址欄中輸入taobao.com即可以訪問淘寶首頁,這個」taobao.com」即是域名,並且」taobao.com」是一級域名,咱們買域名買的即是一級域名,而」www.taobao.com」是二級域名。若是咱們想在瀏覽器地址欄中輸入域名訪問咱們本身的網站的話,可有兩個途徑,第一個途徑是買一個屬於本身的域名,訪問這個域名須要通過DNS服務器(把域名解析爲ip地址,保存的就是域名和ip之間的映射關係),DNS服務器就是爲了將訪問的域名對應到相應的IP上,因此最終仍是經過IP實際訪問網站的,以下:

注意,一個域名對應一個ip地址,一個ip地址能夠被多個域名綁定。第二個途徑是配置本地的hosts文件,若是hosts文件中有配置域名對應的ip,就不會去請求DNS服務器了,會直接用hosts中配置的ip地址去訪問網頁。 

2.1 hosts添加域名映射:在hosts文件中添加以下兩個域名來進行測試:

2.2 修改nginx.conf配置,設置以域名方式區分虛擬主機,設置以下:

修改server監聽的端口號均爲80端口;

第一個server節點的server_name 設置爲www.test81.com; location 節點root 值仍然爲 html81, 當瀏覽器輸入http://www.test81.com時,應該會訪問到 

/usr/local/nginx/html81路徑下的index.html ,同理,第二個server節點只修改server_name爲 www.test80.com; 便可(注意結尾的分號不能少)

修改保存後,重啓nginx:

2.3測試:

 

參考資料:https://blog.csdn.net/yerenyuan_pku/article/details/73135376

相關文章
相關標籤/搜索