nginx做負(fù)載均衡是在反向代理的基礎(chǔ)上做的
代碼如下:
## Basic reverse proxy server ## ## Apache backend for www.baidu.com ## upstream henushang { # 不過最好換成你們的服務(wù)器測(cè)試,因?yàn)槲覝y(cè)試的時(shí)候使用jd和baidu的都沒有連接成功, # 換成自己的服務(wù)器就行了,估計(jì)是那里有限制,如果哪位知道,請(qǐng)指教 server www.jd.com weight=1; # 或者ip:port這樣形式也是可以的 server www.baidu.com weight=9; # 或者ip:port這樣形式也是可以的 } ## Start www.baidu.com ## server { listen 80; server_name www.henushang.cn;#監(jiān)聽的域名 access_log logs/henushang.access.log; error_log logs/henushang.error.log; root html; index index.html index.htm index.php; ## send request back to apache ## location / { proxy_pass http://henushang;#與上面的upstream名字相對(duì)應(yīng) #Proxy Settings proxy_redirect off; 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_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_max_temp_file_size 0; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } }
nginx做負(fù)載均衡有如下幾種方式:
1、RR(默認(rèn))? 每個(gè)請(qǐng)求按時(shí)間順序逐一分配到不同的后端服務(wù)器,如果后端服務(wù)器down掉,能自動(dòng)剔除。 例如:??
upstream tomcats { server 10.1.1.107:88 max_fails=3 fail_timeout=3s weight=9; server 10.1.1.132:80 max_fails=3 fail_timeout=3s weight=9;
2、ip_hash? 每個(gè)請(qǐng)求按訪問ip的hash結(jié)果分配,這樣每個(gè)訪客固定訪問一個(gè)后端服務(wù)器,可以解決session的問題。 例如:??
upstream tomcats { ip_hash; server 10.1.1.107:88; server 10.1.1.132:80; }
3、fair(第三方)? 按后端服務(wù)器的響應(yīng)時(shí)間來分配請(qǐng)求,響應(yīng)時(shí)間短的優(yōu)先分配。??
4、url_hash(第三方)? 按訪問url的hash結(jié)果來分配請(qǐng)求,使每個(gè)url定向到同一個(gè)后端服務(wù)器,后端服務(wù)器為緩存時(shí)比較有效。
更多Nginx相關(guān)技術(shù)文章,請(qǐng)?jiān)L問Nginx使用教程欄目進(jìn)行學(xué)習(xí)!?
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載。
THE END