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