内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

nginx+memcache+tomcat配置(新手筆記)

nginx+memcache+tomcat 應(yīng)該是企業(yè)級(jí)開發(fā)中用到的比較多的一套集群web環(huán)境,因?yàn)楸救耸菑氖翵ava的學(xué)習(xí)和開發(fā),因此服務(wù)器選擇了tomcat;配置這樣一個(gè)環(huán)境在我看來首要目的當(dāng)然是將服務(wù)器的壓力分散開,用多臺(tái)服務(wù)器來處理大用戶的并發(fā),并通過緩存來減少對(duì)服務(wù)器的請(qǐng)求量,同時(shí)一個(gè)應(yīng)用分布在不同服務(wù)器上就需要做session共享。大概的結(jié)構(gòu)我想應(yīng)該是這樣:

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名與空間、虛擬主機(jī)、營銷軟件、網(wǎng)站建設(shè)、江陰網(wǎng)站維護(hù)、網(wǎng)站推廣。

這樣一來請(qǐng)求會(huì)被分派到這圖中5個(gè)tomcat下的項(xiàng)目去處理,當(dāng)然有時(shí)候服務(wù)器需要處理更大的并發(fā)量則需要更多的nginx來作為代理轉(zhuǎn)發(fā)并需要更多的tomcat節(jié)點(diǎn)(當(dāng)然也有牛人能把tomcat配到數(shù)千并發(fā)量,這樣也不一定需要太多tomcat)

我將從windows上給大家講我的配置過程,至于在linux上其實(shí)差不太多,只是在安裝memcache和nginx上有差異,對(duì)于配置來說都一樣。下面簡單來介紹下我的操作步驟(JDK和tomcat部分的安裝省略)

一、所需環(huán)境和軟件

Tomcat7,下載鏈接:http://tomcat.apache.org/

Nginx是nginx-1.2.8,

下載鏈接:http://nginx.org/en/download.html

Memcached是memcached-1.2.6-win32-bin,下載鏈接:http://code.jellycan.com/files/memcached-1.2.6-win32-bin.zip,

其他所需jar包,如下列表:

memcached-session-manager-1.6.1,memcached-session-manager-tc6-1.6.1(因?yàn)門omcat版本為6.0)

javolution-5.4.3.1,msm-javolution-serializer-1.6.1(準(zhǔn)備使用javolution序列化方式)

spymemcached-2.7.3(依賴包),以上jar包在http://code.google.com/p/memcached-session-manager/downloads/list中都可以找到,文檔http://code.google.com/p/memcached-session-manager/wiki/SetupAndConfiguration中詳細(xì)介紹了不同的服務(wù)器版本,不同的jar包需求。

二、Tomcat配置

這里我們就配置倆tomcat來意思意思。。。。

進(jìn)入tomcat配置文件context.xml,我設(shè)置么配的(具體為什么這么配我還真有點(diǎn)說不出123,大致有感覺罷了)

也就是紅框是我們需要加的了,這里就是配置session共享,通過memcache來保存session信息。

memcacheNode是你有幾個(gè)memcache就可以配幾個(gè)節(jié)點(diǎn),我這里寫了兩個(gè)告訴大家如果你有多個(gè)需要配置的節(jié)點(diǎn) 用空格斷開,前面寫節(jié)點(diǎn)名。

當(dāng)然網(wǎng)上有的是把這部分配到server.xml的Engine節(jié)點(diǎn)下,我試了如果不在context下配置我的會(huì)報(bào)錯(cuò),不知道他們還有哪里和我不一樣。再就是這里的memcacheNode的IP,我寫localhost也有問題,必須寫127.0.0.1才能連接到memcache的服務(wù)。 如果有人發(fā)現(xiàn)我配置上的問題可以幫我一并指出。

然后大家可以去server.xml下找<Engine>節(jié)點(diǎn),在其中添加屬性 jvmRoute="tomcat n" n就是第n個(gè)tomcat你自己寫 后面測(cè)試的時(shí)候打印sessionId會(huì)顯示出來現(xiàn)在用的是那個(gè)tomcat。當(dāng)然server.xml最重要的配置還不是在這,是你需要配置三個(gè)端口保證和其他的tomat不會(huì)沖突,分別在這里

注意tomcat端口默認(rèn)都是8080 ,大家做開發(fā)習(xí)慣了這個(gè)端口,都把端口配到808*,但是這樣會(huì)有問題,比如你要配4個(gè)tomcat集群,一個(gè)tomcat 要配置3個(gè)端口,都在808*上就勢(shì)必有重復(fù),因此不是很好的決策,所以我是這么定的:分別放在 900* 808* 810*上,然后建議大家在tomcat根目錄建一個(gè)文件名叫8081-8100-9006 類似這樣文本文件提示自己當(dāng)前這個(gè)tomcat的端口配置,現(xiàn)在只有倆服務(wù)器,否則服務(wù)器多了你一個(gè)個(gè)開配置文件看太麻煩。

配置完了,還有memcache支持的jar,復(fù)制到lib下即可,當(dāng)然版本盡量對(duì)上或者貼近。

三、nginx的安裝

載下來的nginx,我的是1.8,

雙擊nginx.exe是可以啟動(dòng)nginx的,但是你并不能看見什么反應(yīng),因?yàn)樗谀愫笈_(tái)進(jìn)程里跑,打開任務(wù)管理器看服務(wù)里面會(huì)有nginx的服務(wù)開著,就行了。當(dāng)然我還是推薦大家用命令模式操作nginx

開啟nginx: nginx

關(guān)閉nginx: nginx -s stop

重啟nginx: nginx -s reload

這里注意nginx的核心配置文件在 conf目錄下,有個(gè)nginx.conf文件,這里是我們需要配置的地方。

nginx配置文件結(jié)構(gòu)我不全了解,我就說我知道的幾個(gè)點(diǎn)。

Nginx配置文件主要分為4部分:main(全局設(shè)置)、server(主機(jī)設(shè)置)、upstream(負(fù)載均衡服務(wù)器設(shè)置)和location

首先server代表了一個(gè)虛擬主機(jī),在這個(gè)塊中可以配置主機(jī)名和location,這兩個(gè)塊也就是我們要用到的nginx反向代理,將虛擬地址映射到實(shí)際的服務(wù)器地址。實(shí)際的服務(wù)器地址我們配置到一個(gè)upstream塊中,那么既然我們做了集群,將大量的請(qǐng)求分派到5個(gè)甚至多個(gè)tomcat下,那么請(qǐng)求怎么訪問它們呢?這里就有請(qǐng)求分配的策略了。upstream模塊的負(fù)載均衡分配方式 我在網(wǎng)上查了有5種:輪詢,權(quán)重,ip_hash,url_hash和平均。輪詢比較好理解就是從第一個(gè)輪流來訪問;權(quán)重就是在配置這個(gè)節(jié)點(diǎn)的時(shí)候就分配給他一個(gè)優(yōu)先級(jí)(有點(diǎn)像線程優(yōu)先級(jí)),ip_hash 每個(gè)請(qǐng)求按照其請(qǐng)求IP的hash結(jié)果分配,url_hash 按照url的hash結(jié)果分配 平均分配就是按照服務(wù)器響應(yīng)時(shí)間來分配,響應(yīng)時(shí)間小的先分配。

講到這里nginx配置的理論就差不多了,那么來看下配置的細(xì)節(jié),下面是我的部分配置:

這里我將兩臺(tái)tomcat加入負(fù)載均衡配置中,location指的是server_name后項(xiàng)目名,也就是說我們?cè)L問http://localhost/tonghang 將會(huì)定向到 http://127.0.0.1:8081/tonghang 和http://127.0.0.1:8082/tonghang上。proxy_pass 指定了代理的目標(biāo)主機(jī)IP,這里寫的是upstrean塊的地址(我不是很懂暫時(shí)這么說),由upstream中指定有哪些要映射的IP,當(dāng)然我們也可以寫到外面,用很多個(gè)proxy_pass來映射。

四、memcache安裝

windows下安裝memcache就是安裝一個(gè)exe文件,linux下安裝可能還需要安裝部分依賴庫,因?yàn)槲宜诘姆?wù)器下就帶有memcache,我先在win下配置好后再去linux下直接用的,用起來沒有什么問題,所以安裝細(xì)節(jié)就不提了大家可以去看別的技術(shù)文章,win下安裝就是 來到你解壓的memcached.exe所在目錄用命令 memcached.exe -d install 即可。啟動(dòng)的話就是執(zhí)行memcached.exe -d start linux下是memcached -d -uroot 重復(fù)開memcache貌似不會(huì)出現(xiàn)端口占用的問題應(yīng)該是它內(nèi)部做處理了

好了,到這里基本的配置完畢,我們可以去兩個(gè)tomcat下部署兩個(gè)一樣web項(xiàng)目(我這里叫tonghag),項(xiàng)目下都有一個(gè)index.jsp,內(nèi)容如下:

<%@pagelanguage="java"contentType="text/html;charset=UTF-8"%> <html> <body> <h2>HelloWorld!</h2> <% Stringtmp=(String)session.getAttribute("tmp"); if(tmp==null||tmp==""){ session.setAttribute("tmp","iamcreatedintomcat2.myidis:"+session.getId()); tmp=(String)session.getAttribute("tmp"); out.println("nullnowtocreatedvalue!"); out.println("<br/>"); out.println(tmp); System.out.println(tmp); }else{ out.println(tmp); System.out.println(tmp); } %> </body> </html>

邏輯就是每當(dāng)發(fā)現(xiàn)請(qǐng)求中沒有sessionid就創(chuàng)建session,按道理如果沒有配置memcache的session共享,分別訪問 http://localhost:8081/tonghang http://lcoalhost:8082/tonghang會(huì)得到不同的sessionID,如果你通過上述的配置sessionID在一個(gè)瀏覽器上的訪問都是一樣的。

在測(cè)試一下 http://localhost/tonghang 試試看。你會(huì)發(fā)現(xiàn)也能看當(dāng)剛才的界面,這就是我們做了反向代理的結(jié)果,而且你還會(huì)發(fā)現(xiàn)你的兩臺(tái)tomcat的控制臺(tái)在挨個(gè)輸出日志,這也就達(dá)到了我們負(fù)載均衡的效果,因?yàn)槲遗渲昧藘膳_(tái)tomcat而且權(quán)重一樣,也就是說訪問的幾率差不多,而兩臺(tái)tomcat本來就是一臺(tái)復(fù)制一臺(tái)的,所以幾乎是121212的訪問(和輪詢差不多)。所以大家可以嘗試給其中一臺(tái)配置權(quán)限高一點(diǎn),日志輸出分布也就明顯了?;蛘呖梢栽囋嚻渌牟呗?。

ngxin+tomcat+memcache的負(fù)載均衡,反向代理和session共享的相關(guān)配置介紹完了,單純這樣用是看不出什么實(shí)際用途的,需要我們將其和實(shí)際項(xiàng)目聯(lián)系起來。在項(xiàng)目訪問量級(jí)相對(duì)較大的時(shí)候就能看出來了。畢竟那么多企業(yè)的項(xiàng)目再用這套架構(gòu),也不是徒有虛名嘛。

小弟第一次做集群的配置,其中如果有配置的不對(duì)讓我誤打誤撞試出來的,也請(qǐng)指點(diǎn)一下。并且我一直不清楚一個(gè)地方就是 我在配置tomcat的context.xml 那個(gè)memcacheNode里面我如果只配一個(gè)節(jié)點(diǎn)就會(huì)錯(cuò),log意思好像是無法連接memcache服務(wù),配倆一樣的就行了。這里我一直沒明白,有知道怎么回事兒的身邊給我留個(gè)言吧!

當(dāng)前題目:nginx+memcache+tomcat配置(新手筆記)
網(wǎng)址分享:http://m.rwnh.cn/article48/cgshhp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、企業(yè)網(wǎng)站制作、網(wǎng)站維護(hù)響應(yīng)式網(wǎng)站、商城網(wǎng)站靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計(jì)公司
土默特左旗| 开远市| 神农架林区| 鄯善县| 出国| 陇川县| 黄冈市| 高阳县| 大庆市| 苏尼特右旗| 卢湾区| 农安县| 西平县| 孝义市| 遵化市| 安康市| 大田县| 高邮市| 枣庄市| 旌德县| 崇信县| 崇州市| 华亭县| 兴海县| 德清县| 桦南县| 平阴县| 二连浩特市| 南平市| 安乡县| 巴彦淖尔市| 梧州市| 阿鲁科尔沁旗| 宁安市| 禹州市| 英德市| 简阳市| 昭通市| 金山区| 新安县| 洪雅县|