nginx虛擬主機

2021-09-23 17:00:14 字數 812 閱讀 1002

虛擬主機

有的**訪問量大,需要負載均衡。然而並不是所有**都如此出色,有的**,由於訪問量太小,需要節省成本,將多個**部署在同一臺伺服器上。

例如將www.aaa.com和www.bbb.com兩個**部署在同一臺伺服器上,兩個網域名稱解析到同乙個ip位址,但是使用者通過兩個網域名稱卻可以開啟兩個完全不同的**,互相不影響,就像訪問兩個伺服器一樣,所以叫兩個虛擬主機。

配置:server {

listen80default_server;

server_name _;

return444; # 過濾其他網域名稱的請求,返回444狀態碼

server {

listen80;

server_name www.aaa.com; # www.aaa.com網域名稱

location / {

proxy_pass http://localhost:8080; # 對應埠號8080

server {

listen80;

server_name www.bbb.com; # www.bbb.com網域名稱

location / {

proxy_pass http://localhost:8081; # 對應埠號8081

在伺服器8080和8081分別開了乙個應用,客戶端通過不同的網域名稱訪問,根據server_name可以反向**到對應的應用伺服器。

虛擬主機的原理是通過http請求頭中的host是否匹配server_name來實現的,有興趣的同學可以研究一下http協議。

另外,server_name配置還可以過濾有人惡意將某些網域名稱指向你的主機伺服器。

nginx虛擬主機

利用虛擬主機,不同為每個要執行的 提供一台單獨的nginx伺服器或單獨執行一組nginx程序。虛擬主機提供了在同一臺伺服器 同一組nginx程序上執行多個 的功能。在nginx配置檔案nginx.conf中,乙個最簡化的虛擬主機配置 如下 server 可以在一塊物理網絡卡上繫結多個lp位址。這樣就...

Nginx虛擬主機

1 實現兩個基於網域名稱的虛擬主機,網域名稱分別為www.tarena.com和bbs.tarena.com 2 網域名稱為bbs.tarena.com的web服務僅允許192.168.4.205訪問 3 對網域名稱為bbs.tarena.com的站點進行使用者認證,使用者名稱稱為tom,密碼為12...

Nginx虛擬主機

3.nginx虛擬主機 問題沿用練習二,配置基於網域名稱的虛擬主機,實現以下目標 1 實現兩個基於網域名稱的虛擬主機,網域名稱分別為www.tarena.com和bbs.tarena.com 2 網域名稱為bbs.tarena.com的web服務僅允許192.168.4.205訪問 3 對網域名稱為...