一、服務器
nginx可以作為靜態頁面的服務器,在前后端分離開發中比較常見,如:前台靜態資源部署在nginx上,后台服務部署在tomcat服務器中
二、虛擬主機
虛擬主機通過子域名可以實現多級域名,只需要在dns服務器上注冊一個域名,通過nginx實現了多個域名:
如:注冊 lishaojun.com 域名,可以在nginx中配置 aaa.lishaojun.com bbb.lishaojun.com 的映射到不同的資源(靜態資源或者服務器)
三、反向代理
所謂的反向代理就是代理服務器,而不是客戶端。通過反向代理可以實現服務器負載均衡的功能,負載均衡很好理解,在虛擬主機映射到服務器時,每個配置的域名(虛擬主機)可以配置多個服務器,而且可以配置權重,nginx自動選擇合適的服務器轉發請求。
總結:nginx可以直接作為網頁服務器,或者間接代理服務器,並且可以實現域名虛擬化
#web服務器
server {
listen 81; # 監聽的端口
server_name localhost; # 域名或ip
location / { # 訪問路徑配置
root index;# 根目錄
index index.html index.htm; # 默認首頁
}
error_page 500 502 503 504 /50x.html; # 錯誤頁面
location = /50x.html {
root html;
}
}
# 虛擬主機
server { listen 80; server_name www.lishaojun.com; location / { root cart; index cart.html; } }
server { listen 80; server_name abc.lishaojun.com; location / { root search; index search.html; } }
#反向代理+負載均衡
upstream tomcat-travel {
server 192.168.177.129:8080;
server 192.168.177.129:8081 weight=2;
server 192.168.177.129:8082;
}
server {
listen 80; # 監聽的端口
server_name www.lishaojun.com; # 域名或ip
location / { # 訪問路徑配置
# root index;# 根目錄
proxy_pass http://tomcat-travel; # 別名
index index.html index.htm; # 默認首頁
}
error_page 500 502 503 504 /50x.html; # 錯誤頁面
location = /50x.html {
root html;
}
}