视频在线观看一区二区三区,精品精品99,久久精品国产99久久,久久免费高清

linux+nginx+tomcat負(fù)載均衡,實(shí)現(xiàn)session同步

花了一個(gè)上午的時(shí)間研究nginx+tomcat的負(fù)載均衡測(cè)試,集群環(huán)境搭建比較順利,但是session同步的問(wèn)題折騰了幾個(gè)小時(shí)才搞定,現(xiàn)把我的過(guò)程貼上來(lái),以備用。 軟件及環(huán)境是: 虛擬機(jī)上裝

linux+nginx+tomcat負(fù)載均衡,實(shí)現(xiàn)session同步

來(lái)源:夢(mèng)飛科技 作者:網(wǎng)絡(luò) 瀏覽量:337
2015-08-15
0
花了一個(gè)上午的時(shí)間研究nginx+tomcat的負(fù)載均衡測(cè)試,集群環(huán)境搭建比較順利,但是session同步的問(wèn)題折騰了幾個(gè)小時(shí)才搞定,現(xiàn)把我的過(guò)程貼上來(lái),以備用。
軟件及環(huán)境是:
虛擬機(jī)上裝centos 5.5
IP為:192.168.0.51 裝上nginx和tomcat  6.0.32 命名為 Tomcat1
一臺(tái)win7上裝tomcat  6.0.32  IP為:192.168.0.50  命名為 Tomcat2

首先裝nginx,我是參照http://blog.s135.com/nginx_php_v6/ 配了一個(gè)Nginx + PHP(FastCGI)環(huán)境,然后再加上Tomcat的轉(zhuǎn)發(fā)。
我的nginx.conf 修改如下
#######################################################################
#
# This is the main Nginx configuration file.  
#
# More information about the configuration options is available on 
#   
* the English wiki - http://wiki.nginx.org/Main
#   * the Russian documentation - http://sysoev.ru/nginx/
#
#######################################################################

#
----------------------------------------------------------------------
# Main Module - directives that cover basic functionality
#
#   http:
//wiki.nginx.org/NginxHttpMainModule
#
#
----------------------------------------------------------------------

user              nginx;
worker_processes  
8;

error_log  
/var/log/nginx/error.log;
#error_log  
/var/log/nginx/error.log  notice;
#error_log  
/var/log/nginx/error.log  info;

pid        
/var/run/nginx.pid;


#
----------------------------------------------------------------------
# Events Module 
#
#   http:
//wiki.nginx.org/NginxHttpEventsModule
#
#
----------------------------------------------------------------------

events 
{
    worker_connections  
10240;
}



#
----------------------------------------------------------------------
# HTTP Core Module
#
#   http:
//wiki.nginx.org/NginxHttpCoreModule 
#
#
----------------------------------------------------------------------

http 
{
    include       
/etc/nginx/mime.types;
    default_type  application
/octet-stream;

    log_format  main  
'$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  
/var/log/nginx/access.log  main;

server_names_hash_bucket_size  
128;
client_header_buffer_size  32k;
large_client_header_buffers  
4  32K;
client_max_body_size 8m;


    sendfile        on;
    tcp_nopush     on;

    #keepalive_timeout  
0;
    keepalive_timeout  
65;

    #gzip  on;

gzip_min_length 1k;
gzip_buffers 
4  16k;
gzip_http_version 
1.1;
gzip_comp_level 
2;
gzip_types text
/plain application/x-javascript text/css application/xml;
gzip_vary  on;

upstream  tserver  
{
        server   
192.168.0.51:8080 weight=1;
        server   
192.168.0.50:8080 weight=1;
 }

    
    #
    # The 
default server
    #
    server 
{
        listen       
80;
        server_name  _;

        #charset koi8
-r;

        #access_log  logs
/host.access.log  main;

         location 
~ .*\.(php|php5)?$
        
{
          root  
/www/ROOT;      
          #fastcgi_pass  unix:
/tmp/php-cgi.sock;
         fastcgi_pass  
127.0.0.1:9000;
         fastcgi_index index.php;
         include fcgi.conf;
        }


        location 
~ \.(jsp|jspx|do|htm)?{
         proxy_set_header  Host $host;  
         proxy_set_header  X
-Real-IP  $remote_addr;
         proxy_pass http:
//tserver;#轉(zhuǎn)向tomcat處理       
        }


        location 
~ (/dwr/)? {
         proxy_set_header  Host $host;
         proxy_set_header  X
-Real-IP  $remote_addr;
         proxy_pass http:
//tserver;#轉(zhuǎn)向tomcat處理
        }



        location 
/ {
            root   
/www/ROOT;
            index  index.html index.jsp 
default.jsp index.do default.do;
        }


        error_page  
404              /404.html;
        location 
= /404.html {
            root   
/www/ROOT;
        }


        # redirect server error pages to the 
static page /50x.html
        #
        error_page   
500 502 503 504  /50x.html;
        location 
= /50x.html {
            root   
/www/ROOT;
        }


        # proxy the PHP scripts to Apache listening on 
127.0.0.1:80
        #
        #location 
~ \.php$ {
        #    proxy_pass   http:
//127.0.0.1;
        #}


        # pass the PHP scripts to FastCGI server listening on 
127.0.0.1:9000
        #
        #location 
~ \.php$ {
        #    root           html;
        #    fastcgi_pass   
127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  
/scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}


        # deny access to .htaccess files, 
if Apache's document root
        # concurs with nginx's one
        #
        #location 
~ /\.ht {
        #    deny  all;
        #}

    }


    # Load config files from the 
/etc/nginx/conf.d directory
    include 
/etc/nginx/conf.d/*.conf;

}


下一步是配置Tomcat集群。分別打開(kāi)tomcat1和tomcat2下conf中server.xml
< Server port="8005" shutdown="SHUTDOWN">
< !-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
< Connector port="8080" maxHttpHeaderSize="8192"
   maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
   enableLookups="false" redirectPort="8443" acceptCount="100"
   connectionTimeout="20000" disableUploadTimeout="true" />
< !-- Define an AJP 1.3 Connector on port 8009 -->
< Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />

找到<Engine name="Catalina" defaultHost="localhost">
Tomcat1下的修改為<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
Tomcat2下的修改為<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2">

tomcat1找到
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
修改為
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" 
            channelSendOptions
="6">

            
<Manager className="org.apache.catalina.ha.session.DeltaManager"
                expireSessionsOnShutdown="false"
                notifyListenersOnReplication="true"/>
            <!--
            <Manager className="org.apache.catalina.ha.session.BackupManager"
                expireSessionsOnShutdown="false"
                notifyListenersOnReplication="true"
                mapSendOptions="6"/>
            -->
            <Channel className="org.apache.catalina.tribes.group.GroupChannel">
                <Membership className="org.apache.catalina.tribes.membership.McastService" 
                    address
="228.0.0.5" 
                    bind
="192.168.0.51" 
                    port
="45564" 
                    frequency
="500" 
                    dropTime
="3000"/>
                <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" 
                    address
="192.168.0.51" 
                    autoBind
="100" 
                    port
="4001" 
                    selectorTimeout
="100" 
                    maxThreads
="6"/>
                <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
                    <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
                </Sender>
                <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
                <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
            </Channel>
            <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
            
            
<ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
            <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
        </Cluster>


tomcat2找到
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
修改為
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" 
            channelSendOptions
="6">

            
<Manager className="org.apache.catalina.ha.session.DeltaManager"
                expireSessionsOnShutdown="false"
                notifyListenersOnReplication="true"/>
            <!--
            <Manager className="org.apache.catalina.ha.session.BackupManager"
                expireSessionsOnShutdown="false"
                notifyListenersOnReplication="true"
                mapSendOptions="6"/>
            -->
            <Channel className="org.apache.catalina.tribes.group.GroupChannel">
                <Membership className="org.apache.catalina.tribes.membership.McastService" 
                    address
="228.0.0.5" 
                    bind
="192.168.0.50" 
                    port
="45564" 
                    frequency
="500" 
                    dropTime
="3000"/>
                <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" 
                    address
="192.168.0.50" 
                    autoBind
="100" 
                    port
="4000" 
                    selectorTimeout
="100" 
                    maxThreads
="6"/>
                <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
                    <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
                </Sender>
                <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
                <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
            </Channel>
            <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
            
            
<ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
            <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
        </Cluster>



還需要在程序的web.xml里面</web-app>前面加入以下這句話
<distributable/>
session同步到這里設(shè)置完畢

服務(wù)器的啟動(dòng)順序如下:
tomcat1 --> |tomcat2 --> |nginx
先啟動(dòng)tocmat1,tomcat1啟動(dòng)完全的時(shí)候再啟動(dòng)tomcat2,等兩個(gè)tocmat全啟動(dòng)之后,再啟動(dòng)nginx

負(fù)載的時(shí)候可以用APACHE或NGINX,如果什么都不用,兩臺(tái)一接防問(wèn)了話,可能會(huì)出錯(cuò)極session不同步的問(wèn)題,網(wǎng)上也很多人介意不要做seeeion同步,這樣會(huì)降低機(jī)器的性能,有一個(gè)方法可以,就是NGINX的ip_hash,這樣至少可以保證客戶端去防問(wèn)同一臺(tái)TOCMAT,除非那臺(tái)TOCMAT掛了
部分文章來(lái)源與網(wǎng)絡(luò),若有侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)刪除!
麻豆视频在线观看免费网站黄| 成人在线免费观看91| 黄色aa久久| jizzjizz欧美69巨大| 国产精品成人一区二区网站软件| 蜜臀av性久久久久蜜臀av麻豆| 久久久久国产一区二区| 国产精品日韩精品中文字幕| 福利一区二区| 欧美gay男男猛男无套| 欧美 日韩 国产一区二区在线视频| 国产精品一区二区美女视频免费看| 国产日韩另类视频一区| 国产午夜久久| 久久久青草婷婷精品综合日韩| 亚洲最好看的视频| 麻豆精品精品国产自在97香蕉| 极品美女一区| 国产精品试看| 群体交乱之放荡娇妻一区二区| 五月国产精品| 国产成人免费av一区二区午夜| 精品久久久网| 日韩av福利| 在线成人av观看| 香蕉亚洲视频| 亚洲欧洲另类| 欧美成人69av| 久久婷婷蜜乳一本欲蜜臀| 久久伊人久久| 国产影视一区| 成人噜噜噜噜| 亚洲三级观看| 国产精品一卡| 欧美黑粗硬大| 国产精品xxx| 青青青国产精品| 日本高清不卡一区二区三区视频| 男女男精品视频网| 免费人成精品欧美精品| 亚洲欧美久久久| 99在线精品视频在线观看| 在线观看免费一区二区| 亚洲欧美一区在线| 五月婷婷六月综合| 午夜国产欧美理论在线播放| jiujiure精品视频播放| 欧洲福利电影| 国产一级久久| 丝袜亚洲另类欧美综合| 免费一级欧美片在线观看| 蜜臀久久99精品久久久久久9| 美女久久一区| 九色porny自拍视频在线播放| 久草在线资源福利站| 成人片免费看| 免费一二一二在线视频| 欧美日韩视频网站| 成人在线免费av| 羞羞视频在线观看欧美| 中文一区一区三区免费在线观看| 国产精品扒开腿做爽爽爽软件| 亚洲精品伊人| 亚洲另类av| 午夜视频在线观看精品中文| 清纯唯美亚洲综合一区| 亚洲午夜视频| 先锋a资源在线看亚洲| 国产精品久久久久久| 亚洲成人va| 国产九九精品| 欧美成人精品午夜一区二区 | 亚洲一区二区日韩| 欧美第一在线视频| 51vv免费精品视频一区二区| 国产精品中文字幕制服诱惑| 欧洲杯半决赛直播| 丝袜美腿亚洲综合| 日韩一区亚洲二区| 久久精品久久99精品久久| 欧美精品aa| 日韩中文在线| **女人18毛片一区二区| 蜜臀av性久久久久蜜臀aⅴ四虎| 日韩欧美精品一区| 日本成人在线不卡视频| 日本在线中文字幕一区| 精品国产中文字幕第一页 | 国产尤物久久久| 国产三级精品三级在线观看国产| 亚洲二区在线| 国产精品久久久久无码av| 国产欧美一区二区色老头| 国产一区日韩| 亚洲小说欧美另类社区| 欧美r级电影| 日日摸夜夜添夜夜添亚洲女人| 欧洲大片精品免费永久看nba| 粉嫩一区二区三区四区公司1| 免费av一区二区三区四区| 石原莉奈在线亚洲三区| 99精品视频免费全部在线| 日韩高清在线免费观看| 99国产**精品****| 91视频一区| 欧美日韩亚洲三区| 精品日韩在线| 日本在线电影一区二区三区| 麻豆精品一区二区av白丝在线| 国产日韩中文在线中文字幕| 亚洲欧美日韩高清在线| 国产a亚洲精品| 51vv免费精品视频一区二区| 一本色道久久综合亚洲精品不卡 | 久久九九精品| аⅴ资源天堂资源库在线| 亚洲精品乱码| 99视频精品视频高清免费| 裤袜国产欧美精品一区| 电影一区二区三区久久免费观看| 精品久久美女| 黄视频网站在线观看| 国产精品免费99久久久| 午夜日韩福利| 欧美伊人影院| 欧洲亚洲一区二区三区| 经典三级一区二区| 日韩av影院| 丝袜美腿成人在线| 中文视频一区| 亚洲经典在线| 国产精品多人| 好看不卡的中文字幕| 日韩国产欧美在线播放| 精品视频高潮| 国产综合色区在线观看| baoyu135国产精品免费| 成人av观看| 亚洲图色一区二区三区| 国产粉嫩在线观看| 精品中文字幕一区二区三区四区 | 日韩制服丝袜av| 粉嫩一区二区三区在线观看| 一区在线观看| 中文av一区| 好吊视频一区二区三区四区| 亚洲精品乱码| 精品69视频一区二区三区Q| 亚洲精品看片| 红桃视频亚洲| 99精品视频在线免费播放 | 日韩国产激情| 日本电影一区二区| 色诱色偷偷久久综合| 久久激情电影| 麻豆91精品91久久久的内涵| 欧美一区二区三区高清视频| 日本不卡一区二区三区高清视频| 伊人成综合网| 欧美成人精品午夜一区二区| 欧美激情偷拍自拍| 成人在线亚洲| 久久永久免费| 在线视频免费在线观看一区二区| 欧美久久一区二区三区| 国产高潮在线| 久久久精品性| 亚洲精品乱码| 欧美h版在线| 久久久精品午夜少妇| 欧美区亚洲区| 91影院成人| 精品国产午夜肉伦伦影院| 99久久er| 国产亚洲成人一区| 视频一区国产| 久久精品久久综合| 麻豆成人在线| 精品久久国产| 在线成人超碰| 中文字幕在线视频久| 99久久婷婷这里只有精品| 亚洲网站三级| 亚洲1234区| 国产精品视频| 成人羞羞视频播放网站| 在线欧美激情| 欧美gv在线观看| 黄色亚洲免费| 精品精品国产毛片在线看| 欧美黄在线观看| 日韩视频在线观看| 99在线精品免费视频九九视| 91精品国产自产在线丝袜啪| 国产精品国码视频| 精品捆绑调教一区二区三区| 好看的亚洲午夜视频在线| av自拍一区| 国产精品亚洲欧美一级在线| 青娱乐极品盛宴一区二区|