好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁(yè) > 知識(shí)庫(kù) > Nginx/Httpd負(fù)載均衡tomcat配置教程

Nginx/Httpd負(fù)載均衡tomcat配置教程

熱門標(biāo)簽:重慶營(yíng)銷外呼系統(tǒng)排名 鶴壁電銷外呼系統(tǒng)怎么安裝 400電話辦理哪家好廠商 地圖標(biāo)注企業(yè)名稱侵權(quán)案件 工廠位置地圖標(biāo)注 地圖標(biāo)注需要現(xiàn)場(chǎng)嗎 企業(yè)400電話辦理哪正規(guī) 網(wǎng)站上插入地圖標(biāo)注內(nèi)容 繽客網(wǎng)注冊(cè)時(shí)地圖標(biāo)注出不來(lái)

  在前一篇博客中我們聊了下用Nginx和httpd對(duì)后端tomcat服務(wù)做反代相關(guān)配置,回顧請(qǐng)參考https://www.jb51.net/article/191277.htm;今天我們來(lái)聊一聊用Nginx和httpd對(duì)tomcat集群做負(fù)載均衡的配置以及需要注意的點(diǎn);在前邊的演示和配置都是以單臺(tái)tomcat來(lái)配置使用;但是在生產(chǎn)中單臺(tái)tomcat實(shí)在支撐不了大規(guī)模的訪問(wèn),這個(gè)時(shí)候我們就需要考慮把多臺(tái)tomcat做成集群對(duì)外提供服務(wù);多臺(tái)tomcat做成集群對(duì)外提供服務(wù)就必然要有一個(gè)調(diào)度器來(lái)對(duì)客戶端的請(qǐng)求做調(diào)度,常用的調(diào)度器有nginx httpd haproxy lvs等等;用這些調(diào)度器來(lái)對(duì)tomcat做負(fù)載均衡的配置和對(duì)其他web服務(wù)器做負(fù)載均衡的配置沒(méi)有本質(zhì)的不同;我們都可以把tomcat當(dāng)作web服務(wù)器來(lái)配置就好;

  1、環(huán)境準(zhǔn)備

  運(yùn)行docker 啟動(dòng)兩個(gè)tomcat容器當(dāng)作后端tomcat server 并且把兩臺(tái)tomcat容器的網(wǎng)頁(yè)目錄分別用存儲(chǔ)卷的方式映射到/tomcat/doc/tomcat1和tomcat1目錄

  提示:以上就運(yùn)行了兩個(gè)tomcat容器,分別是tct1和tc2,并且我們把/usr/local/tomcat/webapps/myapp映射到宿主機(jī)的/tomcat/doc/tomcat1和tomcat2,這樣做我們就可以直接把網(wǎng)頁(yè)腳本放到宿主機(jī)上的這個(gè)目錄從而實(shí)現(xiàn)把網(wǎng)頁(yè)部署到tomcat的默認(rèn)虛擬主機(jī)上;

  編輯兩個(gè)容器的主頁(yè)文件內(nèi)容

  提示:以上分別給tomcat1和tomcat2提供了一個(gè)測(cè)試主頁(yè);

  現(xiàn)在分別放tomcat1和tomcat2看看對(duì)應(yīng)主頁(yè)是否能夠訪問(wèn)到

  提示:可以看到tomcat1和tomcat2都能夠訪問(wèn)到,到此后端tomcat的環(huán)境就準(zhǔn)備好了;接下來(lái)我們來(lái)配置nginx來(lái)對(duì)他們做負(fù)載均衡;

  2、配置nginx對(duì)tomcat做負(fù)載均衡

  提示:以上配置就是把兩臺(tái)tomcat容器歸并為tcsevs組,然后反代/的訪問(wèn)到這個(gè)組上即可。這樣配置默認(rèn)是輪詢的;

  驗(yàn)證:訪問(wèn)宿主機(jī)上的80端口看看是否分別能夠訪問(wèn)到后端兩臺(tái)tomcat容器提供的主頁(yè)?

  檢查nginx配置文件語(yǔ)法格式并啟動(dòng)nginx

  訪問(wèn)宿主機(jī)的80端口,看看是否能夠訪問(wèn)到后端tomcat提供的頁(yè)面?

  提示:可以看到訪問(wèn)宿主機(jī)的80端口是能夠正常訪問(wèn)到后端tomcat服務(wù)器上的,并且也看出了默認(rèn)輪詢調(diào)度的效果;但是這里存在一個(gè)問(wèn)題,同一用戶訪問(wèn)宿主機(jī)的80端口,給我們響應(yīng)的結(jié)果session id都不同,這意味著nginx并沒(méi)有追蹤到用戶的狀態(tài)信息,原因是因?yàn)閔ttp請(qǐng)求本來(lái)就是無(wú)狀態(tài)的,為了讓服務(wù)記錄用戶的狀態(tài)信息,在nginx上我們可以基于源ip做調(diào)度,什么意思呢,就是同一源ip地址,nginx都把該請(qǐng)求調(diào)度到同一臺(tái)后端server上,使得同一用戶訪問(wèn)的狀態(tài)信息始終調(diào)度到同一后端server上;

  nginx基于源ip做會(huì)話保持

  提示:ip_hash和hash $remote_addr都表示對(duì)源ip進(jìn)行哈希計(jì)算,然后把取得到結(jié)果和總權(quán)重做模運(yùn)算,結(jié)果落到那個(gè)節(jié)點(diǎn),就調(diào)度到那個(gè)節(jié)點(diǎn);什么意思呢,如上所示,后端server有兩個(gè),且權(quán)重都為1,那么他們的權(quán)重和就是2,ip_hash和hash $remote_addr就是把客戶端的ip地址的前三段進(jìn)行hash計(jì)算,然后把得到的值再和權(quán)重和做取模運(yùn)算,很顯然取模后端結(jié)果要么是0要么是1,如果取模后的結(jié)果是1,那么nginx基于它內(nèi)部的對(duì)應(yīng)關(guān)系,把該請(qǐng)求就調(diào)度到tomcatB或者tomcatA;

  測(cè)試:重啟niginx ,訪問(wèn)宿主機(jī)的80端口看看是否都把請(qǐng)求調(diào)度到同一后端server上?

  提示:可以看到現(xiàn)在訪問(wèn)宿主機(jī)的80端口就沒(méi)有在輪詢了,而是始終調(diào)度到tomcatA這臺(tái)server上進(jìn)行響應(yīng);但是我們?cè)L問(wèn)127.0.0.1的80端口它又調(diào)度到tomcatB上去了,這是因?yàn)閚ginx的調(diào)度算法中hash $remote_addr 和ip_hash是把IP地址的前24位做hash,所以如果你的IP前三段相同時(shí),nginx它會(huì)認(rèn)為是和nginxserver是同一局域網(wǎng),所以它會(huì)把請(qǐng)求調(diào)度到同一局域網(wǎng)之前來(lái)請(qǐng)求過(guò)的后端server上進(jìn)行響應(yīng);當(dāng)然除了我們可以對(duì)源地址做hash,我們也可以對(duì)其他首部做hash計(jì)算,原理都是類似的,都是把對(duì)應(yīng)首部的值做hash計(jì)算,然后同權(quán)重和做取模運(yùn)算;然后根據(jù)nginx內(nèi)部的對(duì)應(yīng)關(guān)系,把取模后端結(jié)果相同的請(qǐng)求調(diào)度到同一后端server,就是基于這樣的原理,把客戶端和后端server綁定到一起實(shí)現(xiàn)了會(huì)話綁定;

  httpd對(duì)tomcat做負(fù)載均衡

  httpd做負(fù)載均衡器,需要確認(rèn)httpd是否開啟了proxy_http_module、proxy_module 、proxy_balancer_module如果需要用到ajp還需要確定proxy_ajp_module模塊是否啟用,以及調(diào)度算法的三個(gè)模塊lbmethod_bybusyness_module 、lbmethod_byrequests_module、lbmethod_bytraffic_module;以上模塊對(duì)于調(diào)度算法來(lái)說(shuō)用到那個(gè)啟用那個(gè)也行,對(duì)于http或者ajp也是一樣的;用得到就啟用,用不上不啟用也沒(méi)關(guān)系;

  提示:可以看到我們需要用的模塊都是啟用了的;

  配置httpd對(duì)后端tomcat 做負(fù)載均衡

  提示:從上面的配置,其實(shí)感覺(jué)和nginx的配置邏輯很相似,首先把后端server歸并成一個(gè)組,然后反代時(shí)把請(qǐng)求代理到定義的組上即可;這里說(shuō)一下調(diào)度算法吧,proxyset lbmethod 用來(lái)指定調(diào)度算法的,默認(rèn)不寫是使用byrequests,這個(gè)算法就是httpd里的輪詢調(diào)度算法,當(dāng)然在每個(gè)balancermember 后面加上權(quán)重,就成了加權(quán)輪詢了;除此調(diào)度算法,我們還可以使用bytraffic,這個(gè)調(diào)度算法是根據(jù)和后端server的傳輸流量來(lái)調(diào)度,如果某個(gè)服務(wù)器傳輸流量很大,那么他會(huì)把請(qǐng)求往傳輸流量相對(duì)小的服務(wù)器上調(diào)度;bybusyness這個(gè)調(diào)度算法是根據(jù)后端server的繁忙程度來(lái)調(diào)度;類似nginx里的least_conn最少連接算法;對(duì)balancermember 我們也可以向nginx 那樣設(shè)置單獨(dú)屬性,只需要在后面寫上對(duì)應(yīng)的屬性即可;常用的屬性有status 這個(gè)屬性表示表示對(duì)應(yīng)balancermember是處于什么狀態(tài),其中對(duì)status有6種取值;D表示禁用對(duì)應(yīng)server,不提供任何請(qǐng)求;S表示人工手動(dòng)標(biāo)識(shí)為不可用;I表示強(qiáng)制上線模式(強(qiáng)制忽略錯(cuò)誤模式);H表示熱備模式(相當(dāng)于nginx里的backup,只有組里的其他server都不可用時(shí),它才會(huì)被激活,用于say sorry);E表示強(qiáng)制處于錯(cuò)誤模式(即便沒(méi)有錯(cuò)誤也要讓他處于有錯(cuò)誤);N表示排干模式;除了status來(lái)指定balancermember的狀態(tài),還可以使用loadfactor來(lái)指定權(quán)重,類似于nginx里的weight;

  停掉nginx,檢查httpd 的配置文件語(yǔ)法,如果沒(méi)有問(wèn)題就啟動(dòng)httpd

  訪問(wèn)httpd提供的服務(wù),看看是否訪問(wèn)到后端tomcat的頁(yè)面

  提示:可以看到和nginx的訪問(wèn)一樣,都可以實(shí)現(xiàn)輪詢;

  httpd基于cookie對(duì)后端tomcat做會(huì)話粘性

  提示:以上配置表示給客戶端請(qǐng)求cookie首部添加一個(gè)標(biāo)識(shí),ROUTEID=%{BALANCER_WORKER_ROUTE}e表示,我們指定的ROUTEID標(biāo)識(shí)的值為balancermember 后面的route屬性指定的值;env=BALANCER_ROUTE_CHANGED表示,如果我們指定的route的值發(fā)生變化時(shí),它需要重新調(diào)度;簡(jiǎn)單講就是給cookie信息打標(biāo)簽;proxyset stickysession=ROUTEID 表示給該組所有成員設(shè)置會(huì)話粘性KEY的名稱為ROUTEID,這個(gè)值通常要和上面的set-cookie后面的KEY對(duì)應(yīng);如果把它寫到每個(gè)balancermember后面表示單獨(dú)給某個(gè)server設(shè)置會(huì)話粘性KEY的名稱;如果寫在proxy配置段里需要用proxyset指令來(lái)設(shè)置,表示給該組的所有member設(shè)置 stickysession;簡(jiǎn)單講就是聲明以那個(gè)key來(lái)當(dāng)做會(huì)話粘性的基準(zhǔn)來(lái)做調(diào)度;這個(gè)邏輯和haproxy里面的會(huì)話保持設(shè)定類似;有關(guān)haproxy配置會(huì)話保持可以參考https://www.jb51.net/article/33639.htm;

  測(cè)試:檢查httpd的配置文件語(yǔ)法,如果沒(méi)有問(wèn)題就重啟httpd,然后訪問(wèn)httpd看看會(huì)有什么變化

  用curl 來(lái)模擬第一次訪問(wèn)httpd服務(wù)器,看看響應(yīng)首部有什么變化?

  提示:可以看到訪問(wèn)httpd服務(wù)器,在響應(yīng)首部會(huì)多一個(gè)set-cookie首部,并且該首部的的值就是我們之前在配置文件中配置的KEY和value;set-cookie首部主要是在瀏覽器下次請(qǐng)求時(shí),它會(huì)把set-cookie首部的值用cookie首部攜帶去訪問(wèn)服務(wù)器,這樣一來(lái),服務(wù)器就可根據(jù)客戶端請(qǐng)求報(bào)文的cookie的值,來(lái)分析本次請(qǐng)求是那個(gè)客戶端發(fā)送過(guò)來(lái),后續(xù)服務(wù)端該怎么調(diào)度;

  用瀏覽器訪問(wèn),看看客戶端后續(xù)的請(qǐng)求,是不是把第一次訪問(wèn)中的set-cookie的值拿上去請(qǐng)求服務(wù)端?

  提示:可以看到瀏覽器第一次訪問(wèn),服務(wù)器會(huì)在響應(yīng)首部中添加一個(gè)set-cookie的首部;這個(gè)首部的值就是ROUTEID是目前響應(yīng)我們的后端server上的route的值;

  提示:可以看到客戶端在請(qǐng)求首部cookie中,把之前set-cookie中的值都攜帶過(guò)去了;此時(shí)httpd收到客戶端請(qǐng)求就可以根據(jù)設(shè)置的stickysession 指定的KEY來(lái)判斷該把對(duì)應(yīng)請(qǐng)求發(fā)送到那個(gè)后端server上進(jìn)行響應(yīng)了;這樣一來(lái),只要客戶端的cookie不變,那么它每次訪問(wèn)服務(wù)端都會(huì)以cookie首部的值去告訴服務(wù)端該調(diào)度到那臺(tái)后端server上;

  用curl模仿客戶端請(qǐng)求攜帶cookie訪問(wèn)服務(wù)端

  提示:可以看到當(dāng)我們使用curl模仿客戶端訪問(wèn)攜帶cookie時(shí),在響應(yīng)首部就不會(huì)在給我們發(fā)set-cookie首部(這里的set-cookie是指和我們?cè)诜?wù)器設(shè)定相關(guān)的首部),并且我們攜帶不同ROUTEID的cookie,它會(huì)根據(jù)我們攜帶的ROUTEID的值把我們調(diào)度到不同的后端server上進(jìn)行響應(yīng);對(duì)于httpd負(fù)載均衡代理后端tomcat用ajp的配置方式和http的配置方式一樣的,不同的只是把后端server的http協(xié)議修改成ajp,后端tomcat的端口修改成ajp協(xié)議監(jiān)聽的端口即可,默認(rèn)tomcatajp協(xié)議監(jiān)聽在8009端口;

  配置httpd后端管理界面頁(yè)

  提示:以上配置表示啟動(dòng)httpd管理頁(yè)面,并綁定到/manager-page這個(gè)uri上,對(duì)于/manager-page這個(gè)uri不做任何代理,并且該rui只能允許ip地址為192.168.0.232的主機(jī)訪問(wèn),其他主機(jī)都沒(méi)有權(quán)限,包括服務(wù)器本身;

  驗(yàn)證:用非192.168.0.232的主機(jī)訪問(wèn)192.168.0.22/manager-page看看是否能夠訪問(wèn)到?

  提示:可以看到用192.168.0.22去訪問(wèn),提示403沒(méi)有權(quán)限;

  用192.168.0.232去訪問(wèn),看看是否能夠訪問(wèn)到管理頁(yè)面?

  提示:用192.168.0.232上的瀏覽器上可以正常訪問(wèn)到httpd的管理頁(yè)面的;

  動(dòng)態(tài)修改tomcat1的權(quán)重

  提示:正因?yàn)檫@個(gè)頁(yè)面可以動(dòng)態(tài)的更改后端服務(wù)器的屬性,所以通常需要做訪問(wèn)限制;

到此這篇關(guān)于Nginx/Httpd負(fù)載均衡tomcat配置的文章就介紹到這了,更多相關(guān)Nginx/Httpd負(fù)載均衡tomcat配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標(biāo)簽:常州 日照 鹽城 渭南 克拉瑪依 96 東莞 棗莊

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Nginx/Httpd負(fù)載均衡tomcat配置教程》,本文關(guān)鍵詞  Nginx,Httpd,負(fù)載,均衡,tomcat,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Nginx/Httpd負(fù)載均衡tomcat配置教程》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Nginx/Httpd負(fù)載均衡tomcat配置教程的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 午夜爱爱小视频| 很黄很爽很色很刺激无遮挡| 青青青爽国产在线视频| 抽搐一进一出gif第900期| 女被男狂揉60分钟吃奶视频| 性生生活性生交A级| 夫妇交换性3中文字幕| 国产欧美一区| 伊人久艹| 双乳被两个男人揉着玩弄的| 91国内精品自线在拍白富美| 大黄网站在线观看| 黄色三级三级免费看| 午夜第九理论达达兔dy888流| 国产免费看片| 8x8ⅹ国产精品8x红人影库| 男的j放进女人的j的视频| 欧美黑人xxxx猛牲大交| 美女裸体?开腿羞羞吞精| 美女视频全婐app免费软件| 韩国免费播放一级毛片| 日韩极品18metarthunter| 国产日本一区二区三区| 欧美AV无码区亚洲77777| 人人插| 97综合视频| 美女视频黄a全部| 久久宗合伊人永久精品| 亚洲AV永久纯肉无码精品动漫| 免费女生隐私软件| 英语老师小兔子好暖好多水| 717秋霞good电影久久爱| 亚洲精品乱码久久久久| 日本不卡视频一区二区三区| 一级特黄乱子伦| 中日韩美中文字幕| 日韩人妻无码免费的AV| 夜色88V精品国产亚洲AV小说| 性生活免费看视频| 美女直播洗澡的软件免费| 草逼视频软件|