欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Nginx+tomcat 做負(fù)載均衡

系統(tǒng) 2236 0

架構(gòu)描述

前端一臺(tái)nginx服務(wù)器做負(fù)載均衡器,后端放N臺(tái)tomcat組成集群處理服務(wù),通過nginx轉(zhuǎn)發(fā)到后面(注:沒做動(dòng)靜分離,靜態(tài)動(dòng)態(tài)全部都轉(zhuǎn)給tomcat)

優(yōu)點(diǎn):實(shí)現(xiàn)了可彈性化的架構(gòu),在壓力增大的時(shí)候可以臨時(shí)添加tomcat服務(wù)器添加到這個(gè)架構(gòu)里面去

一,配置nginx

1,??下載包

Wget? http://sysoev.ru/nginx/nginx-0.6.32.tar.gz

ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/

2,??安裝nginx包

????a.安裝pcre

????tar zxvf pcre-7.2.tar.gz

????cd pcre

?./configure??--prefix = /pcre

?Make;make install

b, 安裝nginx

tar zxvf nginx-0.6.32.tar.gz

cd nginx-0.6.32

./configure??--prefix=/nginx –with-pcre=/pcre??--with-http_rewrite_module

Make;make install

3,? 修改配置文件

Vi /nginx/conf/nginx.conf

?

#用戶組

user nobody nobody;?????????????????

#cpu個(gè)數(shù),可以按照實(shí)際服務(wù)器來計(jì)算

worker_processes??8;????????????????

worker_rlimit_nofile 51200;?????????

events {

????use epoll;

#連接數(shù)

????worker_connections??8192?;??????

}

http {

????include???????mime.types;

????default_type??application/octet-stream;

????server_names_hash_bucket_size 128;

#????access_log??off;

#????access_log??logs/access.log;

#緩存的時(shí)間,(可以根據(jù)不同文件設(shè)置不同時(shí)間)

?#???expires???????????2h;??????

????tcp_nodelay on;

????keepalive_timeout??30;??????

????gzip??on;

????gzip_min_length??10;

????gzip_buffers?????4 8k;

????gzip_http_version 1.1;

????gzip_types???????text/plain application/x-javascript text/css text/html application/xml;

????????sendfile?????????on;

????????tcp_nopush???????on;

????????reset_timedout_connection??on;

?????client_max_body_size?30m;?

#設(shè)定負(fù)載均衡列表???????

upstream??backend???????????

?{??????????????????????

server???172.23.254.2:8080;???

server???172.23.254.3:8080;

}

?

#設(shè)定虛擬主機(jī)

server {

????????listen???????80;

????????server_name?? www.abc.com ;

#對(duì)?/?所有做負(fù)載均衡 (本機(jī)nginx采用完全轉(zhuǎn)發(fā),所有請(qǐng)求都轉(zhuǎn)發(fā)到后端的tomcat集群)

???????location / {???????

????????root /web/www ;

???????index index.jsp index.htm index.html;

????????????proxy_redirect?????????off;

#保留用戶真實(shí)信息

????????????proxy_set_header???????Host $host;

??????????????proxy_set_header??X-Real-IP??$remote_addr;

????????proxy_set_header??X-Forwarded-For $proxy_add_x_forwarded_for;

???????proxy_pass??http://backend;???

???????}

}

}

主要在配置proxy與upstream

Upstream具有負(fù)載均衡能力,可以自動(dòng)判斷下面的機(jī)器,并且自動(dòng)踢出不能正常提供服務(wù)的機(jī)器。

?

?

4,啟動(dòng)程序

/nginx/sbin/nginx

5,編寫啟動(dòng)腳本

Vi nginx.sh

#!/bin/sh

CWD=`pwd`


case $1 in
??????? start)
??????????????? /nginx/sbin/nginx;
??????????????????????? ;;
??????? stop)
??????????????? kill -2 `ps -ef|grep "/nginx/sbin/nginx"|grep -v "grep"|awk '{print $2}' `
??????????????????????? ;;
??????? restart)
??????????????? cd "$CMD"
??????????????? $0 stop
??????????????? $0 start
??????? ;;
??????? *)
??????? echo $"Usage: $0 {start|stop|restart}"
??????? exit 1
esac
exit 0

?

????二,配置tomcat

1,??下載tomcat5.59

tar zxvf tomcat5.59

????????2,修改配置文件

????????????a,配置數(shù)據(jù)源

????????????b,優(yōu)化tomcat最大并發(fā)數(shù)

????????????????????<Connector port="8080" maxHttpHeaderSize="8192"

???????????????maxThreads="2048" minSpareThreads="100" maxSpareThreads="200"

???????????????enableLookups="false" redirectPort="8443" acceptCount="500"

???????????????connectionTimeout="20000" disableUploadTimeout="true" />

????????????c,添加虛擬主機(jī)

(注,主轉(zhuǎn)發(fā)的虛擬主機(jī)必須用localhost,否則nginx不能通過內(nèi)網(wǎng)ip轉(zhuǎn)發(fā),而只有通過域名轉(zhuǎn)發(fā)

????????????d,測(cè)試

????????????????打開 http://ip :8080

????????????????頁面能訪問則正常

2,??其他的tomcat服務(wù)器也用同樣的配置

三,做tomcat集群

????兩臺(tái)機(jī)器?172.23.254.2??172.23.254.3

????做集群需要修改的文件配置有三個(gè)地方

????1,修改conf/server.xml配置文件
????????a.?找到Engine標(biāo)簽,加入屬性?jvmRoute="worker1"

b.找到Cluster標(biāo)簽,去掉注釋,同時(shí)修改tcpListenAddress為本機(jī)ip 172.23.254.2?(注:這一段Cluster必須放在hosts里面)

?????

2,??修改應(yīng)用的web.xml

修改web應(yīng)用里面WEB-INF目錄下的web.xml文件,加入標(biāo)簽

<distributable/>

直接加在</web-app>之前就可以了

這個(gè)是加入tomcat的session復(fù)制的,做tomcat集群必須需要這一步,否則用戶的session就無法正常使用。

3,??開啟防火墻

這兩個(gè)tomcat之間必須開啟防火墻信任。

分別啟動(dòng)兩個(gè)tomcat,查看每一個(gè)tomcat是否都啟動(dòng)了8080端口以及4001端口

再用netstat –an?查看鏈接情況

tcp????????0??????0 172.23.254.2:43320??????172.23.254.3:4001??????ESTABLISHED

tcp????????0??????0 172.23.254.2:46544??????172.23.254.3:4001??????TIME_WAIT??

tcp????????0??????0 172.23.254.2:40118??????172.23.254.3:4001??????ESTABLISHED

tcp????????0??????0 172.23.254.2:4001???????172.23.254.3:48804?????ESTABLISHED

tcp????????0??????0 172.23.254.2:4001???????172.23.254.3:34254?????ESTABLISHED

如果兩臺(tái)機(jī)器的4001端口分別建立了連接,則說明集群配置成功,可以進(jìn)行session復(fù)制。

?

?

可能存在的問題

1,??session復(fù)制問題

以前用apache做負(fù)載均衡的時(shí)候,是選擇了用?session sticky的模式,這樣的話,用戶每次進(jìn)來都會(huì)是同一個(gè)服務(wù)器中的session,不會(huì)被轉(zhuǎn)發(fā)到其他的服務(wù)器上。在這樣的情況下,tomcat即使不做session復(fù)制也不會(huì)影響用戶訪問。但是nginx并不支持sticky功能。所以必須要做session復(fù)制。否則很多地方就根本沒法用。比如登錄過程,先等到了第一個(gè)tomcat上,產(chǎn)生了一個(gè)session,在刷新頁面,刷到另外一個(gè)tomcat的機(jī)器上,沒有這個(gè)session,就會(huì)出現(xiàn)問題了。所以程序員在寫jsp的時(shí)候也要注意這一點(diǎn)

??舉個(gè)簡單的例子,比如我們?cè)趩螜C(jī)應(yīng)用情況下修改SESSION中用戶的某一個(gè)數(shù)據(jù),那么通常就是:
User user = (User)request.getSession().getAttribute(“user”);
User.setName(“my name”);
????這樣我們就是直接存取出來,然后進(jìn)行修改,雖然在單機(jī)情況下沒有問題,但是在集群條件下,這樣就導(dǎo)致了多臺(tái)WEB服務(wù)器上的SESSION不同步的問題,因?yàn)镾ESSION并沒有改變,Tomcat無法監(jiān)視session中某個(gè)數(shù)據(jù)的值是否發(fā)生了變化。因此,我們還需要執(zhí)行如下操作以保證SESSION的同步:
Request.getSession().setAttribute(“user”, user);
????所以,我們?cè)诓僮鱏ESSION的時(shí)候要特別注意!另外的建議就是,我們應(yīng)該盡可能的不要修改SESSION中的數(shù)據(jù)。

?

??可能經(jīng)常會(huì)遇到session復(fù)制不正常的情況。除了在服務(wù)端找原因再也程序上找下原因。都是有可能導(dǎo)致session復(fù)制不正常的

?

2.頁面同步

?????為確保后面tomcat的服務(wù)器上的頁面程序是一致的,可以采用如下方式

?????a,rsync同步,或者做成頁面按鈕,提供給編輯,修改了程序即使點(diǎn)擊同步

?????b,共享區(qū)域存儲(chǔ),或者采取drbd網(wǎng)絡(luò)raid模式

?

3,確認(rèn)nginx可以轉(zhuǎn)發(fā)成功,

在nginx上wget一下后面轉(zhuǎn)發(fā)的url(包過端口),如果可以打開,那就可以轉(zhuǎn)發(fā)過去。如果不能打開,則無法轉(zhuǎn)發(fā)

Nginx+tomcat 做負(fù)載均衡


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 亚洲人视频 | 日韩精品一区在线 | 9999人体做爰大胆视频 | 久久久久亚洲视频 | 日韩a无v码在线播放免费 | 91在线视频 | 亚洲第一男人天堂 | 久久久精品网站 | 日本一区二区不卡 | 国产美女精品 | 精品一区二区三区在线观看 | 欧美一区视频 | 国产精品啪一品二区三区粉嫩 | 免费人成又黄又爽的视频强 | 国产乱人乱精一区二区视频密 | 亚洲国产精品一区二区第一页 | 日韩中文一区二区三区 | 好爽好大www视频在线播放 | 欧美性色生活片免费播放 | 中文字幕日本视频 | 精品欧美乱码久久久久久 | 欧美精品成人一区二区三区四区 | 欧美疯狂xxxx乱大交视频 | 人人艹人人看 | 免费无码一区二区三区A片18 | 亚洲一区二区三区福利在线 | 久久机热| 一区二区国产在线播放 | 国产亚洲精品久久久久久国模美 | 日日a.v拍夜夜添久久免费 | 影音先锋中文字幕在线 | 日产中文字乱码卡一卡二视频 | 九九爱国产 | 九草在线视频 | 天天看片中文字幕 | 精品三级视频 | 免费av一区二区三区 | 久草视频在线播放 | 日韩视频中文字幕 | 欧美激情一区二区亚洲专区 | 日本高清视频免费在线观看 |