Nginx配置虛擬主機(jī)的三種方法
虛擬主機(jī)使用的是特殊的軟硬件技術(shù),把一臺運(yùn)行在因特網(wǎng)上的服務(wù)器主機(jī)分成一臺臺 “虛擬” 的主機(jī),每臺虛擬主機(jī)都可以是一個獨(dú)立的網(wǎng)站,可以具有獨(dú)立的域名,具有完成的Intemet
服務(wù)器功能(WWW
、FTP
、Email
等),同一臺主機(jī)上的虛擬主機(jī)之間是完全獨(dú)立的。從網(wǎng)站訪問者的角度來看,每一臺虛擬主機(jī)和一臺獨(dú)立的主機(jī)完全一樣。
利用虛擬主機(jī),可以在同一臺服務(wù)器,同一組Nginx
進(jìn)程上運(yùn)行多個網(wǎng)站的功能。不用為每個要運(yùn)行的網(wǎng)站提供一臺單獨(dú)的Nginx
服務(wù)器或單獨(dú)的一組Nginx
進(jìn)程。
虛擬主機(jī)的配置主要有以下三種:
一、基于域名的虛擬主機(jī)
進(jìn)入conf/nginx.conf
配置文件中添加server
屬性,示例如下:一個域名對應(yīng)一個ip
地址,一個ip
地址可以被多個域名綁定。域名的目的是便于記憶和溝通的一組服務(wù)器的地址(網(wǎng)站,電子郵件,F(xiàn)TP等)。
server { #檢測默認(rèn)的80端口 listen 80; #我們測試的是域名映射,所以這個配置是重點(diǎn),也是外部訪問的地址 server_name virtual.test.com; #如果配置的默認(rèn)/,則訪問項(xiàng)目時,輸入虛擬域名即可 location / { #默認(rèn)訪問的是nginx根目錄下的virtual.test/html目錄中的index.html root virtual.test/html; index index.html; } }
測試前準(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ī)測試頁面-index</h2> </body> </html>
4)、訪問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; } }
通過http://virtual.test.com:8089/
也可以訪問目標(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; } }
通過IP
地址訪問目標(biāo)項(xiàng)目測試如下:
四、Nginx代理
根據(jù)項(xiàng)目名稱,將請求發(fā)送給對應(yīng)的服務(wù)器,匹配規(guī)則如下:
【1】=
嚴(yán)格匹配:如果這個查詢匹配,那么將停止搜索并立即處理此請求;
【2】~
為區(qū)分大小寫匹配(可用正則表達(dá)式);
【3】!~
為區(qū)分大小寫不匹配
【4】~*
為不區(qū)分大小寫匹配(可用正則表達(dá)式)
【5】!~*
為不區(qū)分大小寫不匹配
【6】^~
如果把這個前綴用于一個常規(guī)字符串,那么告訴nginx 如果路徑匹配那么不測試正則表達(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 中添加一個 server 即可。使用基于域名的虛擬主機(jī)配置是比較流行的方式,可以在同一個IP上配置多個域名并且都通過80端口訪問。由于基于IP地址的虛擬主機(jī)需要添加網(wǎng)絡(luò)接口 使用不廣泛。
到此這篇關(guān)于Nginx配置虛擬主機(jī)的三種方法的文章就介紹到這了,更多相關(guān)Nginx配置虛擬主機(jī)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Nginx方向代理wss或ws的實(shí)現(xiàn)示例
本文主要介紹了Nginx方向代理wss或ws的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-10-10Keepalived+Nginx雙機(jī)配置小結(jié)
本文主要介紹了Keepalived+Nginx雙機(jī)配置小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-03-03關(guān)于使用Keepalived實(shí)現(xiàn)Nginx的自動重啟及雙主熱備高可用問題
這篇文章主要介紹了使用Keepalived實(shí)現(xiàn)Nginx的自動重啟及雙主熱備高可用,本文通過幾個問題解析幫助大家學(xué)習(xí)Keepalived實(shí)現(xiàn)Nginx的自動重啟的相關(guān)知識,需要的朋友可以參考下2021-09-09nginx http模塊數(shù)據(jù)存儲結(jié)構(gòu)小結(jié)
這篇文章主要介紹了nginx http模塊數(shù)據(jù)存儲結(jié)構(gòu)小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02Nginx HTTP Status 400 – 錯誤的請求問題解決
本文主要介紹了在配置Nginx反向代理兩個Tomcat站點(diǎn)時遇到HTTPStatus400錯誤,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(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