Nginx配置虛擬主機(jī)的三種方法
虛擬主機(jī)使用的是特殊的軟硬件技術(shù),把一臺(tái)運(yùn)行在因特網(wǎng)上的服務(wù)器主機(jī)分成一臺(tái)臺(tái) “虛擬” 的主機(jī),每臺(tái)虛擬主機(jī)都可以是一個(gè)獨(dú)立的網(wǎng)站,可以具有獨(dú)立的域名,具有完成的Intemet服務(wù)器功能(WWW、FTP、Email等),同一臺(tái)主機(jī)上的虛擬主機(jī)之間是完全獨(dú)立的。從網(wǎng)站訪問者的角度來看,每一臺(tái)虛擬主機(jī)和一臺(tái)獨(dú)立的主機(jī)完全一樣。
利用虛擬主機(jī),可以在同一臺(tái)服務(wù)器,同一組Nginx進(jìn)程上運(yùn)行多個(gè)網(wǎng)站的功能。不用為每個(gè)要運(yùn)行的網(wǎng)站提供一臺(tái)單獨(dú)的Nginx服務(wù)器或單獨(dú)的一組Nginx進(jìn)程。
虛擬主機(jī)的配置主要有以下三種:
一、基于域名的虛擬主機(jī)進(jìn)入conf/nginx.conf配置文件中添加server屬性,示例如下:一個(gè)域名對(duì)應(yīng)一個(gè)ip地址,一個(gè)ip地址可以被多個(gè)域名綁定。域名的目的是便于記憶和溝通的一組服務(wù)器的地址(網(wǎng)站,電子郵件,F(xiàn)TP等)。
server { #檢測(cè)默認(rèn)的80端口listen 80; #我們測(cè)試的是域名映射,所以這個(gè)配置是重點(diǎn),也是外部訪問的地址server_name virtual.test.com; #如果配置的默認(rèn)/,則訪問項(xiàng)目時(shí),輸入虛擬域名即可location / {#默認(rèn)訪問的是nginx根目錄下的virtual.test/html目錄中的index.html root virtual.test/html; index index.html;}}測(cè)試前準(zhǔn)備:1)、添加本地域名映射,修改HOSTS(C:\Windows\System32\drivers\etc)文件,在文件未添加IP域名(舉例:192.168.88.130 virtual.test.com)2)、在nginx根目錄下創(chuàng)建root所配置的文件夾virtual.test/html(全路徑展示:/usr/install/nginx/virtual.test/html)3)、在此目錄下創(chuàng)建index.html文件即可。
<html><head> <meta http-equiv='Content-Type' content='text/html; charset=utf-8' /></head><body> <h2>虛擬主機(jī)測(cè)試頁面-index</h2></body></html>4)、訪問http://virtual.test.com/
只需將server中的listen屬性設(shè)置為目標(biāo)端口即可:
server { #主要配置屬性listen 8089;server_name virtual.test.com;location / { root virtual.test/html; index index.html;}}通過http://virtual.test.com:8089/也可以訪問目標(biāo)文件:
將server_name修改為虛擬機(jī)的IP地址即可:
server { listen 8089; #修改為虛擬機(jī)的IP地址 server_name 192.168.88.130; location / {root html;index index.html index.htm; }}通過IP地址訪問目標(biāo)項(xiàng)目測(cè)試如下:
根據(jù)項(xiàng)目名稱,將請(qǐng)求發(fā)送給對(duì)應(yīng)的服務(wù)器,匹配規(guī)則如下:【1】=嚴(yán)格匹配:如果這個(gè)查詢匹配,那么將停止搜索并立即處理此請(qǐng)求;【2】~為區(qū)分大小寫匹配(可用正則表達(dá)式);【3】!~為區(qū)分大小寫不匹配【4】~*為不區(qū)分大小寫匹配(可用正則表達(dá)式)【5】!~*為不區(qū)分大小寫不匹配【6】^~如果把這個(gè)前綴用于一個(gè)常規(guī)字符串,那么告訴nginx 如果路徑匹配那么不測(cè)試正則表達(dá)式。
示例:
server {listen 9001;server_name localhost;location ~ /edu/ { proxy_pass http://localhost:8101;}location ~ /oss/ { proxy_pass http://localhost:8102;}}總結(jié):在 Nginx下配置虛擬主機(jī) vhost 非常方便。主要在 Nginx 的配置文件 nginx.conf 中添加一個(gè) server 即可。使用基于域名的虛擬主機(jī)配置是比較流行的方式,可以在同一個(gè)IP上配置多個(gè)域名并且都通過80端口訪問。由于基于IP地址的虛擬主機(jī)需要添加網(wǎng)絡(luò)接口 使用不廣泛。
到此這篇關(guān)于Nginx配置虛擬主機(jī)的三種方法的文章就介紹到這了,更多相關(guān)Nginx配置虛擬主機(jī)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
