- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯(lián)網(wǎng)協(xié)會(huì )理事單位
- 安全聯(lián)盟認證網(wǎng)站身份V標記
- 域名注冊服務(wù)機構許可:滇D3-20230001
- 代理域名注冊服務(wù)機構:新網(wǎng)數碼
nginx 虛擬主機原理和配置
虛擬主機與域名解析
虛擬主機使用特殊的軟硬件技術(shù),把一臺運行在因特網(wǎng)上的服務(wù)器主機分成一臺臺“虛擬”的主機,每一臺虛擬主機都具有獨立的域名,具
有完整的 Internet 服務(wù)器(WWW、FTP、Email 等)功能,虛擬主機之間完全獨立,并可由用戶(hù)自行管理,在外界看來(lái),每一臺虛擬主機
和一臺獨立的主機完全一樣。
域名解析就是域名到 IP 地址的轉換過(guò)程,IP 地址是網(wǎng)路上標識站點(diǎn)的數字地址,為了簡(jiǎn)單好記,采用域名來(lái)代替 ip 地址標識站點(diǎn)地址,。
域名的解析工作由 DNS 服務(wù)器完成。
虛擬主機原理
虛擬主機是為了在同一臺物理機器上運行多個(gè)不同的網(wǎng)站,提高資源利用率引入的技術(shù)。
一般的 web 服務(wù)器一個(gè) ip 地址的 80 端口只能正確對應一個(gè)網(wǎng)站。web 服務(wù)器在不使用多個(gè) ip 地址和端口的情況下,如果需要支持多個(gè)
相對獨立的網(wǎng)站就需要一種機制來(lái)分辨同一個(gè) ip 地址上的不同網(wǎng)站的請求,這就出現了主機頭綁定的方法。簡(jiǎn)單的說(shuō)就是,將不同的網(wǎng)
站空間對應不同的域名,以連接請求中的域名字段來(lái)分發(fā)和應答正確的對應空間的文件執行結果。舉個(gè)例子來(lái)說(shuō),一臺服務(wù)器 ip 地址為
10.0.0.12,有兩個(gè)域名和對應的空間在這臺服務(wù)器上,使用的都是 10.0.0.12 的 80 端口來(lái)提供服務(wù)。如果只是簡(jiǎn)單的將兩個(gè)域名 A 和 B
的域名記錄解析到這個(gè) ip 地址,那么 web 服務(wù)器在收到任何請求時(shí)反饋的都會(huì )是同一個(gè)網(wǎng)站的信息,這顯然達不到要求。接下來(lái)我們使
用主機頭綁定域名 A 和 B 到他們對應的空間文件夾 C 和 D。當含有域名 A 的 web 請求信息到達 10.0.0.12 時(shí),web 服務(wù)器將執行它對應
的空間 C 中的首頁(yè)文件,并返回給客戶(hù)端,含有域名 B 的 web 請求信息同理,web 服務(wù)器將執行它對應的空間 D 中的首頁(yè)文件,并返回
給客戶(hù)端,所以在使用主機頭綁定功能后就不能使用 ip 地址訪(fǎng)問(wèn)其上的任何網(wǎng)站了,因為請求信息中不存在域名信息,所以會(huì )出錯。
虛擬主機的配置
方式一:監聽(tīng)不同域名
配置nginx.conf
# 在http模塊下添加多個(gè)server,監聽(tīng)不同的域名
...
http {
...
# 虛擬主機test80.xlyw.top
server {
#監聽(tīng)端口
listen 80;
#域名,可以有多個(gè),用空格隔開(kāi)
server_name test80.xlyw.top;
#配置根目錄以及默認頁(yè)面
location / {
root /www/test80;
index index.html index.htm;
}
#出錯頁(yè)面配置
error_page 500 502 503 504 /50x.html;
#/50x.html文件所在位置
location = /50x.html {
root html;
}
}
# 虛擬主機test81.xlyw.top
server {
#監聽(tīng)端口
listen 80;
#域名,可以有多個(gè),用空格隔開(kāi)
server_name test81.xlyw.top;
#配置根目錄以及默認頁(yè)面
location / {
root /www/test81;
index index.html index.htm;
}
#出錯頁(yè)面配置
error_page 500 502 503 504 /50x.html;
#/50x.html文件所在位置
location = /50x.html {
root html;
}
}
方式二:監聽(tīng)不同端口
http {
...
#虛擬主機的配置
server {
#監聽(tīng)端口
listen 80;
#域名,可以有多個(gè),用空格隔開(kāi)
server_name localhost;
#配置根目錄以及默認頁(yè)面
location / {
root /www/test80;
index index.html index.htm;
}
#出錯頁(yè)面配置
error_page 500 502 503 504 /50x.html;
#/50x.html文件所在位置
location = /50x.html {
root html;
}
}
#虛擬主機的配置
server {
#監聽(tīng)端口
listen 81;
#域名,可以有多個(gè),用空格隔開(kāi)
server_name localhost;
#配置根目錄以及默認頁(yè)面
location / {
root /www/test81;
index index.html index.htm;
}
#出錯頁(yè)面配置
error_page 500 502 503 504 /50x.html;
#/50x.html文件所在位置
location = /50x.html {
root html;
}
}
}
售前咨詢(xún)
售后咨詢(xún)
備案咨詢(xún)
二維碼
TOP