nginx 反向代理伺服器及負載平衡應用(子母站網址架構)
在應用實例上我們因為需要進行子母站的網址架構應用,故找了許多相關的資料不斷的做實驗,後來發現都不成功,如果一對一的架構方式當然可以成功,但若系統的子網站也是動態的產生的話,還要再回來改 nginx 的設定檔做法就很 low,故改寫幾行 nginx 的參數如下:
upstream backend { #設定負載平衡
server 192.168.1.216; #設定 ip 分流機制
server 192.168.1.215;
}
server {
listen 80;
server_name *.tom.tw.; #設定子母站共同的網址名稱
access_log /var/log/nginx/nginx_access_log reverse;
error_log /var/log/nginx/localhost-error.log;
location / {
#將Host設定為使用者訪問時使用的網域(aa.example.com),避免真實伺服器用網域作虛擬主機(Name-based Virtual Host)時無法作用
proxy_set_header Host $host;
proxy_pass http://backend/; #backend可以設定虛擬網域名稱,讓upstream預設去找server 裡面的ip
}
}
以上是假設網站中具備子母站的架構,子站可以從母站中去新增出來(或者獨立架站出來),母站網址可能為aaa.tom.tw,子站則為bbb.tom.tw、ccc.tom.tw的情況下適用。
upstream backend { #設定負載平衡
server 192.168.1.216; #設定 ip 分流機制
server 192.168.1.215;
}
server {
listen 80;
server_name *.tom.tw.; #設定子母站共同的網址名稱
access_log /var/log/nginx/nginx_access_log reverse;
error_log /var/log/nginx/localhost-error.log;
location / {
#將Host設定為使用者訪問時使用的網域(aa.example.com),避免真實伺服器用網域作虛擬主機(Name-based Virtual Host)時無法作用
proxy_set_header Host $host;
proxy_pass http://backend/; #backend可以設定虛擬網域名稱,讓upstream預設去找server 裡面的ip
}
}
以上是假設網站中具備子母站的架構,子站可以從母站中去新增出來(或者獨立架站出來),母站網址可能為aaa.tom.tw,子站則為bbb.tom.tw、ccc.tom.tw的情況下適用。
留言
張貼留言