lNginx在Windows平臺(tái)的配置

lNginx在Windows平臺(tái)的配置

1.1Nginx在Windows平臺(tái)的配置:

1.1.1Nginx的概述:

什么是Nginx:

為什么使用Nginx:

背景:

互聯(lián)網(wǎng)飛速發(fā)展的今天,大用戶量高并發(fā)已經(jīng)成為互聯(lián)網(wǎng)的主體.怎樣能讓一個(gè)網(wǎng)站能夠承載幾萬個(gè)或幾十萬個(gè)用戶的持續(xù)訪問呢?這是一些中小網(wǎng)站急需解決的問題。用單機(jī)tomcat搭建的網(wǎng)站,在比較理想的狀態(tài)下能夠承受的并發(fā)訪問量在150到200左右。按照并發(fā)訪問量占總用戶數(shù)量的5%到10%這樣計(jì)算,單點(diǎn)tomcat網(wǎng)站的用戶人數(shù)在1500到4000左右。對(duì)于一個(gè)為全國范圍提供服務(wù)的網(wǎng)站顯然是不夠用的,為了解決這個(gè)問題引入了負(fù)載均衡方法。負(fù)載均衡就是一個(gè)web服務(wù)器解決不了的問題可以通過多個(gè)web服務(wù)器來平均分擔(dān)壓力來解決,并發(fā)過來的請(qǐng)求被平均分配到多個(gè)后臺(tái)web服務(wù)器來處理,這樣壓力就被分解開來。

負(fù)載均衡服務(wù)器分為兩種一種是通過硬件實(shí)現(xiàn)的負(fù)載均衡服務(wù)器,簡(jiǎn)稱硬負(fù)載例如:f5。另一種是通過軟件來實(shí)現(xiàn)的負(fù)載均衡,簡(jiǎn)稱軟負(fù)載:例如apache和nginx。硬負(fù)載和軟負(fù)載相比前者作用的網(wǎng)絡(luò)層次比較多可以作用到socket接口的數(shù)據(jù)鏈路層對(duì)發(fā)出的請(qǐng)求進(jìn)行分組轉(zhuǎn)發(fā)但是價(jià)格成本比較貴,而軟負(fù)載作用的層次在http協(xié)議層之上可以對(duì)http請(qǐng)求進(jìn)行分組轉(zhuǎn)發(fā)并且因?yàn)槭情_源的所以幾乎是0成本,并且阿里巴巴,京東等電商網(wǎng)站使用的都是Nginx服務(wù)器。

1.1.2使用Nginx完成負(fù)載均衡:

完成Nginx負(fù)載均衡,那么需要先來介紹Tomcat的安裝和配置,我們首先要來配置Tomcat完成集群的配置.因?yàn)槲覀儧]有多臺(tái)服務(wù)器運(yùn)行Tomcat.那么我們可以模擬在一臺(tái)服務(wù)器上運(yùn)行多個(gè)Tomcat程序.

使用Tomcat配置Tomcat集群:

步驟一:下載Tomcat:

http://tomcat.apache.org/download-70.cgi

步驟二:安裝和配置Tomcat:

直接將下載后的Tomcat解壓在本地磁盤:解壓兩個(gè)分別命名為tomcat1和tomcat2.

分別完成如下配置:(需要將tomcat帶有端口號(hào)的地方改成不同的端口即可.)分別打開兩個(gè)tomcat的conf下的server.xml

tomcat1/conf/server.xml

tomcat2/conf/server.xml

1.1.3Nginx的安裝和部署:

Nginx的安裝:

將nginx-1.8.0.zip解壓包某個(gè)盤符下運(yùn)行:目錄結(jié)構(gòu)如下:

雙擊nginx.exe即可運(yùn)行:打開瀏覽器http://localhost:80顯示如下頁面:

說明安裝成功!!!

關(guān)閉nginx需要使用:

相當(dāng)于找到nginx進(jìn)程kill。

nginx -s stop

重新加載配置文件:

nginx -s reload

可以不關(guān)閉nginx的情況下更新配置文件.

Nginx的負(fù)載均衡的配置:

打開C:\nginx-1.8.0\conf\nginx.conf這個(gè)文件:

*****通過以上的配置我們已經(jīng)可以通過訪問www.taoge.com訪問到不同的tomcat來分擔(dān)服務(wù)器端的壓力.請(qǐng)求負(fù)載過程中會(huì)話信息不能丟失.那么需要在多個(gè)tomcat中session需要共享.

*配置Tomcat的session共享可以有三種解決方案:

第一種是以負(fù)載均衡服務(wù)器本身提供的session共享策略,每種服務(wù)期的配置是不一樣的并且nginx本身是沒有的。

第二種是利用web容器本身的session共享策略來配置共享。針對(duì)于weblogic這種方式還是靠普的。但是針對(duì)于tomcat這種方式存在很大的缺陷,主要因?yàn)槭且揽繌V播方式來實(shí)現(xiàn)的session復(fù)制,會(huì)浪費(fèi)很多帶寬導(dǎo)致整個(gè)網(wǎng)絡(luò)反映緩慢。官網(wǎng)也建議這種方式最好不要超過4臺(tái)tomcat,具體的內(nèi)容可參考/webapps/docs/cluster-howto.html里面有詳細(xì)的說明。下面是具體的配置過程

第三種是Tomcat集群+redis的Session共享配置方法.

在這里我們以第二種方式為例:

配置Tomcat中session的共享:

步驟一:修改server.xml文件,最簡(jiǎn)單的集群配置只需要將節(jié)點(diǎn)中注釋掉的下面這句取消注釋即可:

Xml代碼:

使用這樣方法配置的集群會(huì)將Session同步到所在網(wǎng)段上的所有配置了集群屬性的實(shí)例上(此處講所在網(wǎng)段可能不準(zhǔn)確,是使用Membership的address和port來區(qū)分的。tomcat集群的實(shí)例如果在Membership配置中有相同的address和port值的tomcat被分到同一個(gè)集群里邊。他們的session是相互共享的,同一個(gè)session的集群被稱為一個(gè)cluster??梢耘渲枚鄠€(gè)cluster,但是cluster和cluster之間的session是不共享的)。也就是說如果該廣播地址下的所有Tomcat實(shí)例都會(huì)共享Session,那么假如有幾個(gè)互不相關(guān)的集群,就可能造成Session復(fù)制浪費(fèi),所以為了避免浪費(fèi)就需要對(duì)節(jié)點(diǎn)多做點(diǎn)設(shè)置了,如下:

Xml代碼

<MembershipclassName="org.apache.catalina.tribes.membership.McastService"

address="228.0.0.4"

port="45564"

frequency="500"

dropTime="3000"/>

加了一個(gè)Channel,里面包了個(gè)Membership,咱們要關(guān)注的就是membership的port屬性和address屬性,不同的集群設(shè)置不同的port值或address值,從目前的使用來看,基本上是隔離開了。

步驟二:修改項(xiàng)目的web.xml文件:

web.xml文件的修改很簡(jiǎn)單:只需要在節(jié)點(diǎn)中添加這個(gè)節(jié)點(diǎn)就可以了。

OK,有了這二步就實(shí)現(xiàn)了Tomcat的集群和Session的共享了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容