1準(zhǔn)備條件 服務(wù)器最少3臺(tái)
修改配置文件:
cd /etc/nginx/conf.d/
1.添加一個(gè)配置文件
upstream a.com {
server 服務(wù)器IP:端口;
server 127.0.0.1:80;
server 127.0.0.1:8080;
}
2 配置虛擬主機(jī)
vim /etc/nginx/sites-available/default
server{
listen 80;
server_name a.com;
location / {
proxy_pass http://自己配置;
# 后端的Web服務(wù)器可以通過X-Forwarded-For獲取用戶真實(shí)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;
}
ln -s /etc/nginx/sites-available/{nidepaizhi} /etc/nginx/sites-enabled/
//檢查配置文件是否有錯(cuò)
nginx -t
//重啟服務(wù)器
nginx -s reload
3其他參數(shù)配置
擴(kuò)展:
1.輪詢(默認(rèn)方式)
每個(gè)請(qǐng)求按時(shí)間順序逐一分配到后端服務(wù)器,如果后端服務(wù)器down掉,能自動(dòng)剔除
2 weight
指定輪詢幾率赐俗,weight和訪問比率成正比,用于后端服務(wù)器性能不均的情況都伪。
upstream bakend {
server 服務(wù)器IP:端口 概率值;
server 127.0.0.1:80 weight=10;
}
3 down 表示單前的server暫時(shí)不參與負(fù)載
4 weight 默認(rèn)為1.weight越大,負(fù)載的權(quán)重就越大脚翘。
5 max_fails :允許請(qǐng)求失敗的次數(shù)默認(rèn)為1.當(dāng)超過最大次數(shù)時(shí),返回proxy_next_upstream 模塊定義的錯(cuò)誤
6 fail_timeout:max_fails 次失敗后,暫停的時(shí)間翩瓜。
7 backup: 其它所有的非backup機(jī)器down或者忙的時(shí)候,請(qǐng)求backup機(jī)器携龟。
8 ip_hash 能夠?qū)⒛硞€(gè) ip 的請(qǐng)求定向到同一臺(tái)后端兔跌,這樣一來這個(gè) ip 下的某個(gè)客戶端和某個(gè)后端就能建立起穩(wěn)固的 session
這樣每個(gè)訪客固定訪問一個(gè)后端服務(wù)器,可以解決session的問題
upstream resinserver{
ip_hash;
server 192.168.159.10:8080;
server 192.168.159.11:8080;
}
4
location / {
proxy_pass http://a.com; #這個(gè)地址一定是上面定義的負(fù)載均衡的名字
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}