標籤:nginx 負載平衡
負載平衡
先來簡單瞭解一下什麼是負載平衡,單從字面上的意思來理解就可以解釋N台伺服器平均分擔負載,不會因為某台伺服器負載高宕機而某台伺服器閑置的情況。那麼負載平衡的前提就是要有多台伺服器才能實現,也就是兩台以上即可。
測試環境
在VMware裡安裝了三台CentOS。
A伺服器IP :192.168.0.219 (主)
B伺服器IP :192.168.0.119
C伺服器IP :192.168.0.109
部署思路
A伺服器做為主伺服器,網域名稱直接解析到A伺服器(192.168.0.219)上,由A伺服器負載平衡到B伺服器(192.168.0.119)與C伺服器(192.168.0.109)上。
在A伺服器上,upstream指令——分配負載
vi /etc/nginx/conf.d/default.conf
upstream 192.168.0.219 {
server 192.168.0.119:80;
server 192.168.0.109:80;
}
server {
listen 80;
server_name 192.168.0.219;
charset utf8;
location / {
proxy_pass http://192.168.0.219;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
儲存重啟nginx
在B、C伺服器上,
vi /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name 192.168.0.219;
index index.html;
root /usr/share/nginx/html;
}
儲存重啟nginx
測試
當訪問http://192.168.0.219的時候,為了區分是轉向哪台伺服器處理我分別在B、C伺服器下寫一個不同內容的index.html檔案,以作區分。
開啟瀏覽器訪問a.com結果,重新整理會發現所有的請求均分別被主伺服器(192.168.5.149)分配到B伺服器(192.168.0.119)與C伺服器(192.168.0.109)上,實現了負載平衡效果。
本文出自 “廣州linux營運” 部落格,請務必保留此出處http://milenovo.blog.51cto.com/10554394/1707238
nginx在centos環境下,實現3台虛擬機器負載平衡