首頁  >  文章  >  運維  >  CentOS基於nginx反向代理怎麼實現負載平衡

CentOS基於nginx反向代理怎麼實現負載平衡

WBOY
WBOY轉載
2023-05-18 16:49:061148瀏覽

nginx做負載平衡的優點:

1、工作在網路的7層之上,可以針對http應用做一些分流的策略,例如針對網域名稱、目錄結構,它的正規規則比haproxy更強大和靈活,這也是它目前廣泛流行的主要原因之一,nginx單憑這點可利用的場合就遠多於lvs了

#2、nginx對網絡穩定性的依賴非常小,理論上能ping通就就能進行負載功能,這也是它的優點之一;相反lvs對網路穩定性依賴比較大,這點本人深有體會

#3 、nginx安裝和設定比較簡單,測試起來比較方便,它基本上能把錯誤用日誌印出來。 lvs的配置、測試就要花比較長的時間了,lvs對網絡依賴比較大

4、可以承擔高負載壓力且穩定,在硬體不差的情況下一般能支撐幾萬次的並發量,負載度比lvs相對小些

注意事項:

1、不同安裝方法nginx的設定檔位置不一樣

##2 、upstream如果使用ip_hash方式,則每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個後端伺服器,可以解決session的問題

#環境:

系統:centos6.6

nginx ip:192.168.20.103
web1 ip:192.168.20.193
web2 ip:192.168.20.194

#Swinx

兩種方法,我用的是第1種

第1種yum安裝,需安裝第三方yum來源,因為nginx預設不在centos的yum來源中所以需更新

yum install wget #安装下载工具
wget http://www.atomicorp.com/installers/atomic #下载
sh ./atomic #安装
yum check-update #更新yum源 有的需要更新几次 才有nginx最新版本 否则是老版本nginx
yum remove httpd* php* #删除系统自带的软件包 也可加mysql*前提备份数据库
yum install nginx #安装nginx根据提示输入y进行安装
chkconfig nginx on #设置nginx开机启动
service nginx start #启动nginx 重启 restart

第2種編譯安裝

wget http://nginx.org/download/nginx-1.7.8.tar.gz
tar -zxvf nginx-1.7.8.tar.gz
cd nginx-1.7.8
./configure
make && make install

二、修改設定檔

nginx 的upstream預設是以輪詢的方式實現負載平衡,這種方式中,每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。

另一種方式是ip_hash:每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個後端伺服器,可以解決session的問題

修改/etc/ nginx/nginx.conf 增加

#负载均衡配置
upstream backend {
#ip_hash;
server 192.168.20.193;
server 192.168.20.194;
}

修改/etc/nginx/conf.d/default.conf

location / {
#设置主机头和客户端真实地址,以便服务器获取客户端真实ip
    proxy_set_header host $host;
    proxy_set_header x-real-ip $remote_addr;
    proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
    #禁用缓存
    proxy_buffering off;
    #反向代理的地址
    proxy_pass http://backend;
    root  /usr/share/nginx/html;
    index index.html index.htm;
    # example
    #modsecurityenabled on;
    #modsecurityconfig /etc/nginx/modsecurity.conf;
}

三、測試

#第一次訪問轉送到193,因為upstream預設是輪詢,第二次則轉送到了194

CentOS基於nginx反向代理怎麼實現負載平衡

CentOS基於nginx反向代理怎麼實現負載平衡

以上是CentOS基於nginx反向代理怎麼實現負載平衡的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除