九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
tomcat+nginx+redis實(shí)現(xiàn)均衡負(fù)載、session共享(一)

在項(xiàng)目運(yùn)營(yíng)時(shí),我們都會(huì)遇到一個(gè)問題,項(xiàng)目需要更新時(shí),我們可能需先暫時(shí)關(guān)閉下服務(wù)器來更新。但這可能會(huì)出現(xiàn)一些狀況:

 

1.用戶還在操作,被強(qiáng)迫終止了(我們可以看日志等沒人操作的時(shí)候更新,但總可能會(huì)有萬一)

2.不知道的用戶可能會(huì)想網(wǎng)站是不是被攻擊了,降低了對(duì)網(wǎng)站的信任程度,從而導(dǎo)致失去部分潛在客戶,這點(diǎn)尤其對(duì)金融互聯(lián)網(wǎng)公司不利。

 

在查了一些資料后,決定采用Tomcat + Nginx + Redis來實(shí)現(xiàn)負(fù)載均衡和session共享。下面記錄下我的實(shí)踐過程,如有錯(cuò)誤不足之處歡迎大神指點(diǎn),不喜勿噴。

 

1.Nginx簡(jiǎn)單介紹及開啟

Nginx是一款輕量級(jí)兼?zhèn)涓咝阅艿腍ttp和反向代理服務(wù)器。所謂反向代理就是指在用戶發(fā)起訪問請(qǐng)求,由代理服務(wù)器接收,然后將請(qǐng)求轉(zhuǎn)發(fā)給正式服務(wù)器,并且將正式服務(wù)器處理完的數(shù)據(jù)返回給客戶端,此時(shí)代理服務(wù)器就表現(xiàn)為一個(gè)服務(wù)器。這么做看起來多經(jīng)過了一步,稍顯麻煩,但實(shí)則是好處多多,在下面的demo中我會(huì)將其體現(xiàn)出來。

首先我們?nèi)ginx官網(wǎng)下載個(gè)Nginx,我這是在自己電腦上,所以當(dāng)然下載的是windows版本的。下載完成后直接放在某個(gè)盤中即可,不需要安裝。接下去我們打開cmd,進(jìn)入nginx的目錄下,輸入start nginx。

 

 

我們可以看到一個(gè)窗口一閃而過,這樣nginx就已經(jīng)被開啟了,我們?cè)谌蝿?wù)管理器中可以找到它的進(jìn)程。

現(xiàn)在我們?cè)跒g覽器中輸入localhost??梢钥吹匠霈F(xiàn)一個(gè)頁面,雖然簡(jiǎn)陋了點(diǎn),但這確確實(shí)實(shí)就是nginx的歡迎頁面,就類似tomcat剛啟動(dòng)完成的locahost:8080的歡迎頁面。

 

2.使用Nginx實(shí)現(xiàn)反向代理

現(xiàn)在我們搭建一個(gè)基于SpringMVC +Spring + Mybaties框架的maven項(xiàng)目,搭建過程不加以贅述。功能很簡(jiǎn)單,就是能跳轉(zhuǎn)到一個(gè)頁面就行了,當(dāng)然也可以使用別的框架。

運(yùn)行demo,我這tomcat端口是8080,在瀏覽器輸入localhost:8080,出現(xiàn)我們的頁面。

 

這時(shí)我們還是直接訪問tomcat服務(wù)器的,現(xiàn)在我想通過nginx訪問tomcat,即輸入localhost就能顯示我們demo的頁面。

這就要我們?nèi)バ薷膎ginx的核心配置文件,在其目錄下的conf文件夾下的nginx.conf文件,那么首先我們就要了解該文件中一些節(jié)點(diǎn)的作用。

  • worker_processes:工作進(jìn)程個(gè)數(shù),可配置多個(gè)

  • worker_connections:單個(gè)進(jìn)程最大連接數(shù)

  • server:每一個(gè)server相當(dāng)于一個(gè)代理服務(wù)器

  • lister:監(jiān)聽端口,默認(rèn)80

  • server_name:當(dāng)前服務(wù)的域名,可以有多個(gè),用空格分隔(我們是本地所以是localhost)

  • location:表示匹配的路徑,這時(shí)配置了/表示所有請(qǐng)求都被匹配到這里

  • index:當(dāng)沒有指定主頁時(shí),默認(rèn)會(huì)選擇這個(gè)指定的文件,可多個(gè),空格分隔

  • proxy_pass:請(qǐng)求轉(zhuǎn)向自定義的服務(wù)器列表

  • upstream name{ }:服務(wù)器集群名稱

知道了節(jié)點(diǎn)作用后,我們就知道我們需要修改的文件中的server部分,這是它原有的代碼,我刪除了它注釋部分。現(xiàn)在我們就能明白為什么輸入localhost,

它訪問的是它歡迎頁面即index.html。

下面我們對(duì)這段代碼進(jìn)行一些小小修改。就是將請(qǐng)求轉(zhuǎn)向我們定義的服務(wù)器。

 

 

隨后在cmd中輸入命令nginx -s reload即可重啟nginx。

重啟后,我們?cè)佥斎雔ocalhost,可以看到跳轉(zhuǎn)到的頁面是我們demo的。

 

至此,反向代理已完成,這樣所有請(qǐng)求都需經(jīng)過代理服務(wù)器才能訪問到正式服務(wù)器,某種程度上可以保護(hù)網(wǎng)站安全。

 

3.使用Nginx實(shí)現(xiàn)負(fù)載均衡

負(fù)載均衡即是代理服務(wù)器將接收的請(qǐng)求均衡的分發(fā)到各服務(wù)器中

負(fù)載均衡的優(yōu)勢(shì)在訪問量少或并發(fā)小的時(shí)候可能并不明顯,且不說淘寶雙11、鐵道部搶票這種級(jí)別的訪問量、高并發(fā),就是一般網(wǎng)站的搶購(gòu)活動(dòng)時(shí),也會(huì)給服務(wù)器造成很大壓力,可能會(huì)造成服務(wù)器崩潰。而負(fù)載均衡可以很明顯的減少甚至消除這種情況的出現(xiàn),下面我們說說實(shí)現(xiàn)方法。

首先我們?cè)匍_啟一個(gè)tomcat服務(wù)器,這里區(qū)分一下就叫tomcat2吧,原先的叫tomcat1。將tomcat1上的項(xiàng)目,拷貝到tomcat2上,稍微修改下頁面上的文字以便等下區(qū)分我們的請(qǐng)求被分發(fā)到了哪個(gè)tomcat上。tomcat2端口我這里為8081。在瀏覽器中輸入localhost:8081。

 

 

服務(wù)器準(zhǔn)備好了,我們要在server外部定義個(gè)服務(wù)器集群,即用到了上文中提到的upstream 標(biāo)簽。服務(wù)器集群名字取為test。

同時(shí)我們需要再修改下server,將定向的路徑轉(zhuǎn)到問你服務(wù)器集群上。

 

重啟下nginx,在瀏覽器輸入localhost,再多刷新幾次,可以看到兩個(gè)頁面在來回切換。

 

這樣即實(shí)現(xiàn)了負(fù)債均衡。假設(shè)我們服務(wù)器在運(yùn)行過程中,其中一個(gè)tomcat掛了,仍然還有另一個(gè)可以訪問。更新的時(shí)候也能先關(guān)閉只其中一個(gè),輪流更新。另外還能有效緩解服務(wù)器壓力,是不是很棒呢?

當(dāng)然,以上nginx的配置是簡(jiǎn)單化的,實(shí)際上我們還可以配置nginx對(duì)靜態(tài)資源的緩存等等,在此就不多加演示了。

 

4.小結(jié)

花了好些時(shí)間,總算陸陸續(xù)續(xù)要寫好了,在此小結(jié)一下。

nginx作為一個(gè)反向代理服務(wù)器,能緩存我們項(xiàng)目的靜態(tài)文件,并實(shí)現(xiàn)反向代理與均衡負(fù)載,可以有效減少服務(wù)器壓力,即使項(xiàng)目不大,也可以使用。

大家另外應(yīng)該都還發(fā)現(xiàn)了個(gè)問題,雖然這樣請(qǐng)求能分別請(qǐng)求到兩個(gè)tomcat上,如果是一般不需身份校檢的或什么認(rèn)證的方法尚可,但如果出現(xiàn)這類情況:

我們?cè)趖omcat1上進(jìn)行了登錄,這時(shí)用戶session當(dāng)然是存在tomcat1上的,而這時(shí)進(jìn)入個(gè)人中心的請(qǐng)求請(qǐng)求到tomcat2上了,這時(shí)就會(huì)出現(xiàn)問題了。tomcat2會(huì)告訴你還未登錄,這顯然不是我們想看到的。

這就涉及到session共享了,如何讓兩個(gè)服務(wù)器上的session共用。我這里放到下次再說,作為碼農(nóng)比較忙,可能要過個(gè)好幾天。另外我將這次的demo源碼上傳了,下次還要用,nginx配置就不傳了,大家自己多動(dòng)手試驗(yàn)。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Nginx+Tomcat+Redis負(fù)載均衡實(shí)現(xiàn)session共享
Nginx+tomcat集群并實(shí)現(xiàn)session共享(廣播機(jī)制、redis兩種方式)
CentOS6.5下Tomcat7 Nginx Redis配置步驟
負(fù)載均衡session共享的三種處理方法
用Redis存儲(chǔ)Tomcat集群的Session
linux-tomcat+nginx+redis:分布式session共享(redis配置說明)
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服