欧美3dxxxxhd_国产精品欧美日韩_日韩视频在线播放_亚洲高清不卡在线

linux+nginx+tomcat負載均衡,實現session同步

花了一個上午的時間研究nginx+tomcat的負載均衡測試,集群環境搭建比較順利,但是session同步的問題折騰了幾個小時才搞定,現把我的過程貼上來,以備用。 軟件及環境是: 虛擬機上裝

linux+nginx+tomcat負載均衡,實現session同步

來源:夢飛科技 作者:網絡 瀏覽量:337
2015-08-15
0
花了一個上午的時間研究nginx+tomcat的負載均衡測試,集群環境搭建比較順利,但是session同步的問題折騰了幾個小時才搞定,現把我的過程貼上來,以備用。
軟件及環境是:
虛擬機上裝centos 5.5
IP為:192.168.0.51 裝上nginx和tomcat  6.0.32 命名為 Tomcat1
一臺win7上裝tomcat  6.0.32  IP為:192.168.0.50  命名為 Tomcat2

首先裝nginx,我是參照http://blog.s135.com/nginx_php_v6/ 配了一個Nginx + PHP(FastCGI)環境,然后再加上Tomcat的轉發。
我的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;#轉向tomcat處理       
        }


        location 
~ (/dwr/)? {
         proxy_set_header  Host $host;
         proxy_set_header  X
-Real-IP  $remote_addr;
         proxy_pass http:
//tserver;#轉向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集群。分別打開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同步到這里設置完畢

服務器的啟動順序如下:
tomcat1 --> |tomcat2 --> |nginx
先啟動tocmat1,tomcat1啟動完全的時候再啟動tomcat2,等兩個tocmat全啟動之后,再啟動nginx

負載的時候可以用APACHE或NGINX,如果什么都不用,兩臺一接防問了話,可能會出錯極session不同步的問題,網上也很多人介意不要做seeeion同步,這樣會降低機器的性能,有一個方法可以,就是NGINX的ip_hash,這樣至少可以保證客戶端去防問同一臺TOCMAT,除非那臺TOCMAT掛了
部分文章來源與網絡,若有侵權請聯系站長刪除!
欧美3dxxxxhd_国产精品欧美日韩_日韩视频在线播放_亚洲高清不卡在线
国产精品国产三级国产a| 亚洲最快最全在线视频| 亚洲高清久久| 欧美大片专区| 亚洲视频一二区| 久久久免费av| 亚洲人成人77777线观看| 欧美精品一线| 亚洲女ⅴideoshd黑人| 久久综合精品国产一区二区三区| 亚洲经典在线看| 欧美日韩中文在线观看| 午夜精品一区二区三区在线| 欧美va天堂| 亚洲男女自偷自拍| 一区二区三区自拍| 国产精品theporn| 久久久国产精品一区| 亚洲人体1000| 久久久久久久高潮| 日韩亚洲国产欧美| 国产原创一区二区| 欧美人交a欧美精品| 欧美一区二区三区免费观看视频| 亚洲黄色成人| 久久精品一区二区| 亚洲一区二区久久| 在线日韩av片| 国产女主播一区二区三区| 欧美.www| 久久久五月天| 亚洲一区二区少妇| 亚洲精品乱码久久久久久按摩观 | 欧美激情亚洲激情| 欧美一级大片在线免费观看| 亚洲经典一区| 国产综合在线视频| 国产精品久久久久久av福利软件 | 一区二区三区欧美激情| 精品动漫一区| 国产精品一区二区你懂得| 欧美精品v国产精品v日韩精品| 午夜久久电影网| 99精品福利视频| 亚洲国产欧美一区二区三区同亚洲| 久久成人精品视频| 亚洲欧美激情一区二区| 日韩午夜免费| 亚洲精品一区二区三区蜜桃久| 狠狠88综合久久久久综合网| 国产精品久久久久久久久久尿 | 欧美国产视频在线观看| 久久精品国产69国产精品亚洲| 亚洲在线播放| 亚洲视频日本| 一本一本久久a久久精品综合麻豆| 欧美风情在线观看| 久久一区国产| 久久亚洲精品欧美| 久久久最新网址| 久久成人18免费网站| 性色av一区二区三区| 亚洲欧美国产制服动漫| 亚洲女人天堂成人av在线| 一区二区三区高清在线| 一本不卡影院| 一区二区三区四区五区在线| 99国产精品自拍| 一本久久综合| 亚洲五月六月| 亚洲女人小视频在线观看| 亚洲无吗在线| 亚洲一区二区黄色| 午夜精品久久久久久久蜜桃app| 亚洲一级黄色av| 亚洲欧美国产毛片在线| 欧美一区二区三区播放老司机| 欧美一二三区在线观看| 久久精品30| 久久久综合精品| 免费看的黄色欧美网站| 欧美激情国产精品| 亚洲精品国产精品乱码不99按摩 | 亚洲欧美日韩国产中文| 欧美一区二区三区久久精品| 久久久91精品国产一区二区三区| 久久久久国产精品www| 免费成人高清| 欧美日韩一区二区国产| 国产精品视频一区二区高潮| 国产亚洲精品aa| 在线日韩一区二区| 日韩视频一区二区| 午夜性色一区二区三区免费视频| 欧美在线免费视频| 免费成人在线视频网站| 日韩一级大片在线| 午夜精品成人在线视频| 久久午夜电影网| 欧美日韩国产免费| 国产亚洲激情在线| 日韩天天综合| 久久久久久亚洲综合影院红桃| 欧美不卡在线视频| 亚洲小说区图片区| 久久人人爽爽爽人久久久| 欧美精品三区| 国产综合久久久久久| 亚洲精品网站在线播放gif| 亚洲综合精品四区| 欧美99在线视频观看| 在线视频欧美日韩| 老司机精品导航| 国产精品视频大全| 亚洲国产精品综合| 欧美一级欧美一级在线播放| 欧美国产精品日韩| 欧美一级二区| 欧美日韩国产va另类| 激情综合色综合久久| 亚洲一区二区高清| 欧美寡妇偷汉性猛交| 亚洲主播在线观看| 欧美电影在线免费观看网站| 国产亚洲毛片在线| 亚洲性色视频| 亚洲高清资源| 久久精品国产77777蜜臀| 国产精品a级| 日韩午夜激情av| 免费观看亚洲视频大全| 亚洲免费视频网站| 欧美日韩成人激情| 91久久精品一区二区别| 久久精品在线观看| 亚洲一区二区三区在线看| 欧美精品亚洲精品| 91久久精品网| 美女福利精品视频| 欧美在线不卡视频| 国产精品青草综合久久久久99| 日韩视频在线观看免费| 美日韩精品视频| 欧美一区二区视频免费观看| 国产精品免费网站| 亚洲欧美变态国产另类| 亚洲精品视频在线观看网站| 欧美成人乱码一区二区三区| 在线观看91精品国产麻豆| 久久久久国产精品人| 亚洲欧美日韩国产成人| 国产精品日韩欧美一区| 亚洲欧美日韩中文在线制服| 亚洲精选成人| 欧美日韩亚洲系列| 夜夜嗨av一区二区三区中文字幕 | 久久这里有精品视频| 国产专区综合网| 久久久久成人网| 久久精品国产v日韩v亚洲| 国产一区二区三区高清| 久久狠狠亚洲综合| 欧美一级播放| 黄色成人免费观看| 玖玖视频精品| 久久午夜视频| 亚洲国产专区| 亚洲激情在线观看| 欧美日韩亚洲网| 午夜精品区一区二区三| 亚洲一区二区在线播放| 国产一区二区三区电影在线观看| 久久精品免费电影| 久久久久久久精| 亚洲国产一区二区三区在线播 | 久久字幕精品一区| 亚洲人成网站精品片在线观看 | 亚洲娇小video精品| 欧美精品大片| 亚洲免费在线看| 欧美一区二区三区四区在线 | 国产精品久久久久久久久借妻 | 免费一级欧美片在线观看| 久久阴道视频| 99国产成+人+综合+亚洲欧美| 日韩西西人体444www| 国产精品美女久久| 老鸭窝亚洲一区二区三区| 免费不卡中文字幕视频| 亚洲天堂网在线观看| 午夜久久99| 亚洲精品资源| 亚洲一区二区网站| 在线观看国产日韩| 99在线热播精品免费| 国产午夜精品美女毛片视频| 欧美搞黄网站| 国产精品美女久久久久久2018| 久久综合影音| 欧美亚洲成人精品|