負(fù)載平衡是我們大流量網(wǎng)站要做的一個(gè)對象,下面我來給各人先容在Nginx處事器長舉辦負(fù)載平衡設(shè)置要領(lǐng),但愿對有需要的同學(xué)有所輔佐哦。
負(fù)載平衡
先來簡樸相識一下什么是負(fù)載平衡,單從字面上的意思來領(lǐng)略就可以表明N臺處事器平均分管負(fù)載,不會因?yàn)槟撑_處事器負(fù)載高宕機(jī)而某臺處事器閑置的環(huán)境。那么負(fù)載平衡的前提就是要有多臺處事器才氣實(shí)現(xiàn),也就是兩臺以上即可。
測試情況
由于沒有處事器,所以本次測試直接host指定域名,然后在VMware里安裝了三臺CentOS。
測試域名 :a.com
A處事器IP :192.168.5.149 (主)
B處事器IP :192.168.5.27
C處事器IP :192.168.5.126
陳設(shè)思路
A處事器做為主處事器,域名直接理會到A處事器(192.168.5.149)上,由A處事器負(fù)載平衡到B處事器(192.168.5.27)與C處事器(192.168.5.126)上。
域名理會
由于不是真實(shí)情況,域名就隨便利用一個(gè)a.com用作測試,所以a.com的理會只能在hosts文件配置。
打開:C:WindowsSystem32driversetchosts
在末端添加
192.168.5.149 a.com
生存退出,然后啟動呼吁模式ping下看看是否已配置樂成
從截圖上看已樂成將a.com理會到192.168.5.149IP
A處事器nginx.conf配置
打開nginx.conf,文件位置在nginx安裝目次的conf目次下。
在http段插手以下代碼
upstream a.com {
server 192.168.5.126:80;
server 192.168.5.27:80;
}
server{
listen 80;
server_name a.com;
location / {
proxy_pass
http://a.com;
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處事器nginx.conf配置
打開nginx.confi,在http段插手以下代碼
server{
listen 80;
server_name a.com;
index index.html;
root /data0/htdocs/www;
}
生存重啟nginx
測試
當(dāng)會見a.com的時(shí)候,為了區(qū)分是轉(zhuǎn)向哪臺處事器處理懲罰我別離在B、C處事器下寫一個(gè)差異內(nèi)容的index.html文件,以作區(qū)分。
打開欣賞器會見a.com功效,刷新會發(fā)明所有的請求均別離被主處事器(192.168.5.149)分派到B處事器(192.168.5.27)與C處事器(192.168.5.126)上,實(shí)現(xiàn)了負(fù)載平衡結(jié)果。
B處事器處理懲罰頁面
C處事器處理懲罰頁面
如果個(gè)中一臺處事器宕時(shí)機(jī)奈何?
當(dāng)某臺處事器宕機(jī)了,是否會影響會見呢?
我們先來看看實(shí)例,按照以上例子,假設(shè)C處事器192.168.5.126這臺機(jī)子宕機(jī)了(由于無法模仿宕機(jī),所以我就把C處事器關(guān)機(jī))然后再來會見看看。
會見功效:
我們發(fā)明,固然C處事器(192.168.5.126)宕機(jī)了,但不影響網(wǎng)站會見。這樣,就不會擔(dān)憂在負(fù)載平衡模式下因?yàn)槟撑_機(jī)子宕機(jī)而拖累整個(gè)站點(diǎn)了。
假如b.com也要配置負(fù)載平衡怎么辦?
很簡樸,跟a.com配置一樣。如下:
假設(shè)b.com的主處事器IP是192.168.5.149,負(fù)載平衡到192.168.5.150和192.168.5.151呆板上
現(xiàn)將域名b.com理會到192.168.5.149IP上。
在主處事器(192.168.5.149)的nginx.conf插手以下代碼:
upstream b.com {
server 192.168.5.150:80;
server 192.168.5.151:80;
}
server{
listen 80;
server_name b.com;
location / {
proxy_pass
http://b.com;
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
在192.168.5.150與192.168.5.151呆板上配置nginx,打開nginx.conf在末端添加以下代碼:








