前言
今天,王子與大家閑談一下如何在Windows下使用Nginx+Tomcat做負(fù)載均衡的完整步驟,小伙伴們可以試著自己動(dòng)手實(shí)踐一下哦。
另外說明一點(diǎn),本篇文章是純實(shí)操文章,不涉及太多原理的解讀,后期可能單獨(dú)開一個(gè)專欄來深入討論Nginx的原理。
好了那我們直接開始。
下載Nginx
首先我們?nèi)ス倬W(wǎng)下載一個(gè)Windows穩(wěn)定版本的Nginx,官網(wǎng)地址:http://nginx.org/en/download.html
下載后解壓到想要的位置,小伙伴們要注意了,千萬不要把它解壓到帶有中文的文件夾下,會(huì)導(dǎo)致不能啟動(dòng)的。
Window上的啟動(dòng)非常簡單,我們只要進(jìn)入文件夾,雙擊nginx.exe就可以直接啟動(dòng)了
nginx的默認(rèn)端口是80端口,由于王子電腦上的80端口被ISS占用,所以我們修改一下端口,改成81端口。
修改端口也很容易,直接進(jìn)入conf文件夾,打開nginx.conf文件,修改如下位置即可:
修改后,我們直接雙擊就可以啟動(dòng)Nginx服務(wù)了,你會(huì)看到一個(gè)一閃而過的命令窗口,不用在意,其實(shí)已經(jīng)啟動(dòng)成功了,我們?cè)跒g覽器輸入http://localhost:81/,就可以看到Nginx的啟動(dòng)頁面了。
這樣我們的Nginx環(huán)境就部署好了。
配置文件介紹
現(xiàn)在我們有了Nginx的環(huán)境,接下來我們的目標(biāo)是通過Nginx將用戶的請(qǐng)求反向代理到Tomcat上,那么我們首先啟動(dòng)一臺(tái)Tomcat服務(wù)器,默認(rèn)配置即可。
然后我們打開nginx.conf文件,王子給大家簡單介紹一下里面的一些配置的含義。
listen 81;
server_name localhost;
listen:剛才我們已經(jīng)改過了,它就是代表Nginx的監(jiān)聽端口,這個(gè)沒什么可說的
server_name:表示監(jiān)聽到之后請(qǐng)求轉(zhuǎn)到哪里,默認(rèn)直接轉(zhuǎn)到本地。
location / {
root html;
index index.html index.htm;
}
location:表示匹配的路徑,這時(shí)配置了/表示所有請(qǐng)求都被匹配到這里
root:里面配置了root這時(shí)表示當(dāng)匹配這個(gè)請(qǐng)求的路徑時(shí),將會(huì)在html這個(gè)文件夾內(nèi)尋找相應(yīng)的文件。
index:當(dāng)沒有指定主頁時(shí),默認(rèn)會(huì)選擇這個(gè)指定的文件,它可以有多個(gè),并按順序來加載,如果第一個(gè)不存在,則找第二個(gè),依此類推。
除了這些配置,我們?cè)傺a(bǔ)充一個(gè)配置
proxy_pass,它表示代理路徑,相當(dāng)于轉(zhuǎn)發(fā),而不像之前說的root必須指定一個(gè)文件夾。
那么現(xiàn)在我們修改一下配置文件,如下:
location / {
proxy_pass http://localhost:8080;
}
然后我們讓Nginx重新加載配置文件,回到Nginx根目錄執(zhí)行nginx -s reload命令就可以了。
然后我們?cè)僦匦麓蜷_Nginx的頁面,小伙伴們,是不是發(fā)現(xiàn)它已經(jīng)打開了Tomcat頁面呢。
實(shí)現(xiàn)負(fù)載均衡的配置
剛剛我們已經(jīng)實(shí)現(xiàn)了請(qǐng)求的反向代理,從Nginx轉(zhuǎn)發(fā)到了Tomcat上,那么如何配置可以實(shí)現(xiàn)一個(gè)Tomcat的負(fù)載均衡集群呢,其實(shí)也是很容易的。
配置如下:
upstream localtomcat {
server localhost:8080;
}
server{
location / {
proxy_pass http://localtomcat;
}
#......其他省略
}
小伙伴們,劃重點(diǎn)了,這里一定要注意。upstream后的名字一定不要帶下劃線,Nginx是不認(rèn)下劃線的,會(huì)導(dǎo)致轉(zhuǎn)發(fā)異常。
那么如何添加新的tomcat實(shí)現(xiàn)負(fù)載均衡呢?
我們修改端口,新打開一個(gè)tomcat服務(wù)器,端口為8081,然后增加配置如下:
upstream localtomcat {
server localhost:8080;
server localhost:8081;
}
再重新加載Nginx的配置文件,你會(huì)發(fā)現(xiàn),負(fù)載均衡已經(jīng)實(shí)現(xiàn)了,現(xiàn)在會(huì)向兩臺(tái)tomcat轉(zhuǎn)發(fā)請(qǐng)求了。
而且我們可以設(shè)置weight=數(shù)字來指定每個(gè)tomcat的權(quán)重,數(shù)字越大,表明請(qǐng)求到的機(jī)會(huì)越大。
配置如下:
upstream localtomcat {
server localhost:8080 weight=1;
server localhost:8081 weight=5;
}
總結(jié)
好了,到這里我們已經(jīng)在Windows下搭建好了Nginx+Tomcat的負(fù)載均衡集群。
王子今天的分享就到這里了,歡迎小伙伴們繼續(xù)關(guān)注后續(xù)文章。
以上就是Windows下使用Nginx+Tomcat做負(fù)載均衡的完整步驟的詳細(xì)內(nèi)容,更多關(guān)于Nginx+Tomcat做負(fù)載均衡的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!