已=開頭表示精確匹配
如 A 中只匹配根目錄結尾的請求,後面不能帶任何字符串。html
^~ 開頭表示uri以某個常規字符串開頭,不是正則匹配nginx
~ 開頭表示區分大小寫的正則匹配;算法
~* 開頭表示不區分大小寫的正則匹配後端
/ 通用匹配, 若是沒有其它匹配,任何請求都會匹配到服務器
幾個案例:網絡
server { listen 80; server_name www.itmayiedu.com; #精確匹配,/後面不能帶任何字符 location =/ { proxy_pass http://127.0.0.1:8080; index index.html index.htm; } }
在nginx1.9以前nginx指支持七層負載均衡,應用層的負載均衡(所謂七層,物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層、)在1.9以後支持了四層傳輸協議也就是網絡層的負載均衡。本質上時支持那個層的協議。session
#上游服務器 upstream backServer{ server 127.0.0.1:8080; server 127.0.0.1:8081; } server { listen 80; server_name www.itmayiedu.com; location / { ### 指定上游服務器負載均衡服務器 proxy_pass http://backServer; index index.html index.htm; } }
upstream backServer{ server 127.0.0.1:8080 weight=1; server 127.0.0.1:8081 weight=2; } server { listen 80; server_name www.itmayiedu.com; location / { ### 指定上游服務器負載均衡服務器 proxy_pass http://backServer; index index.html index.htm; } }
每一個請求按訪問IP的哈希結果分配,使來自同一個IP的訪客固定訪問一臺後端服務器,而且能夠有效解決動態網頁存在的session共享問題。俗稱IP綁定。負載均衡
upstream backServer{ server 127.0.0.1:8080 ; server 127.0.0.1:8081 ; ip_hash; } server { listen 80; server_name www.itmayiedu.com; location / { ### 指定上游服務器負載均衡服務器 proxy_pass http://backServer; index index.html index.htm; } }
當上遊服務器(真實訪問服務器),一旦出現故障或者是沒有及時相應的話,應該直接輪訓到下一臺服務器,保證服務器的高可用。url
server { listen 80; server_name www.itmayiedu.com; location / { ### 指定上游服務器負載均衡服務器 proxy_pass http://backServer; ###nginx與上游服務器(真實訪問的服務器)超時時間 後端服務器鏈接的超時時間_發起握手等候響應超時時間 proxy_connect_timeout 1s; ###nginx發送給上游服務器(真實訪問的服務器)超時時間 proxy_send_timeout 1s; ### nginx接受上游服務器(真實訪問的服務器)超時時間 proxy_read_timeout 1s; index index.html index.htm; } }