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)站訪問(wèn)者的角度來(lái)看,每一臺(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),也是外部訪問(wèn)的地址 server_name virtual.test.com; #如果配置的默認(rèn)/,則訪問(wèn)項(xiàng)目時(shí),輸入虛擬域名即可 location / { #默認(rèn)訪問(wè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è)試頁(yè)面-index</h2> </body> </html>
4)、訪問(wèn)http://virtual.test.com/
二、基于端口的虛擬主機(jī)
只需將server
中的listen
屬性設(shè)置為目標(biāo)端口即可:
server { #主要配置屬性 listen 8089; server_name virtual.test.com; location / { root virtual.test/html; index index.html; } }
通過(guò)http://virtual.test.com:8089/
也可以訪問(wèn)目標(biāo)文件:
三、基于IP的虛擬主機(jī)
將server_name
修改為虛擬機(jī)的IP
地址即可:
server { listen 8089; #修改為虛擬機(jī)的IP地址 server_name 192.168.88.130; location / { root html; index index.html index.htm; } }
通過(guò)IP
地址訪問(wèn)目標(biāo)項(xiàng)目測(cè)試如下:
四、Nginx代理
根據(jù)項(xiàng)目名稱(chēng),將請(qǐng)求發(fā)送給對(duì)應(yīng)的服務(wù)器,匹配規(guī)則如下:
【1】=
嚴(yán)格匹配:如果這個(gè)查詢(xún)匹配,那么將停止搜索并立即處理此請(qǐng)求;
【2】~
為區(qū)分大小寫(xiě)匹配(可用正則表達(dá)式);
【3】!~
為區(qū)分大小寫(xiě)不匹配
【4】~*
為不區(qū)分大小寫(xiě)匹配(可用正則表達(dá)式)
【5】!~*
為不區(qū)分大小寫(xiě)不匹配
【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è)域名并且都通過(guò)80端口訪問(wèn)。由于基于IP地址的虛擬主機(jī)需要添加網(wǎng)絡(luò)接口 使用不廣泛。
到此這篇關(guān)于Nginx配置虛擬主機(jī)的三種方法的文章就介紹到這了,更多相關(guān)Nginx配置虛擬主機(jī)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Nginx方向代理wss或ws的實(shí)現(xiàn)示例
本文主要介紹了Nginx方向代理wss或ws的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-10-10Keepalived+Nginx雙機(jī)配置小結(jié)
本文主要介紹了Keepalived+Nginx雙機(jī)配置小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-03-03關(guān)于使用Keepalived實(shí)現(xiàn)Nginx的自動(dòng)重啟及雙主熱備高可用問(wèn)題
這篇文章主要介紹了使用Keepalived實(shí)現(xiàn)Nginx的自動(dòng)重啟及雙主熱備高可用,本文通過(guò)幾個(gè)問(wèn)題解析幫助大家學(xué)習(xí)Keepalived實(shí)現(xiàn)Nginx的自動(dòng)重啟的相關(guān)知識(shí),需要的朋友可以參考下2021-09-09nginx http模塊數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)小結(jié)
這篇文章主要介紹了nginx http模塊數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02Nginx HTTP Status 400 – 錯(cuò)誤的請(qǐng)求問(wèn)題解決
本文主要介紹了在配置Nginx反向代理兩個(gè)Tomcat站點(diǎn)時(shí)遇到HTTPStatus400錯(cuò)誤,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-01-01nginx有哪些常規(guī)調(diào)優(yōu)手段詳解
性能調(diào)優(yōu)就是用更少的資源提供更好的服務(wù),成本利益最大化,下面這篇文章主要給大家介紹了關(guān)于nginx有哪些常規(guī)調(diào)優(yōu)手段的相關(guān)資料,需要的朋友可以參考下2023-01-01