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