Nginx配置負載均衡(upstream)+反向代理(httpproxy)

首先準備3臺機器(固然是vm虛擬機),一臺用來作負載均衡服務器,2臺web服務,分別都安裝上nginx,怎麼安裝nginx這裏就不在敘述。 html

IP規劃 => 負載均衡服務器:10.1.1.10   |  web-1:10.1.1.11  |  web-2:10.1.1.12 nginx

另外爲了測試的順利請在以前先把3臺機器的防火牆都關掉,把web-1和web-2的index.html改爲不一樣內容(好比本機IP)後面訪問的時候好看效果。 web

如下配置均在 nginx.conf中進行 瀏覽器

負載均衡服務器配置

upstream webservers {  //upstream實現負載均衡
    server 10.1.1.11 weight=1;
    server 10.1.1.12 weight=1;
}
注:upstream配置應在http內,server外,webservers這是個標識,由本身定義,供後續使用。weigth:權重 ,值越大,被重定向到的概率越大 服務器

location / { #proxy實現反向代理
    proxy_pass   http://webservers; #這裏的webservers就是上面定義的,將請求轉發到上面upstream中配置的ip上
    proxy_set_header  X-Real-IP  $remote_addr; #將請求源ip塞到header頭中的X-Real-IP上轉發到web服務器上,此句做用爲了使web服務器能獲取客戶端請求的真實IP
}
負載均衡

 

web服務器配置

set_real_ip_from  10.1.1.10; #負載均衡服務器IP
real_ip_header    X-Real-IP; 測試

注:加這2行配置後才能獲取到訪問請求的真實IP,否則永遠拿到的都是負載均衡服務器的IP,此配置須要在編譯nginx的時候加上 --with-http_realip_module 參數才能成功,不然失敗。 spa

 

測試

配置完後nginx.conf後,輸入命令:/nginx安裝目錄/sbin/nginx -t 測試一把看看配置是否正確,沒錯誤就啓動nginx 代理

在瀏覽器裏面輸入負載均衡服務器的ip,刷新就會看到頁面內容來回變化,說明請求在2臺web服務器之間切換,達到分流、均衡請求的目的 server

是否是很簡單,趕忙去試一把,瞬間就讓你逼格提高很多哦 (*^__^*)

後記:對於已經安裝了nginx的機器,可經過命令: /nginx安裝目錄/sbin/nginx -V 查看編譯參數,若是沒有加 --with-http_realip_module 這個編譯參數,能夠在源碼包下面從新加上這個參數編譯,configure後make(不要make install),而後拷貝objs下面的nginx覆蓋現有的nginx既可

相關文章
相關標籤/搜索