<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Terry.Li-彬

    虛其心,可解天下之問;專其心,可治天下之學(xué);靜其心,可悟天下之理;恒其心,可成天下之業(yè)。

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      143 隨筆 :: 344 文章 :: 130 評論 :: 0 Trackbacks
    軟件及環(huán)境是:
    虛擬機上裝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)環(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集群。分別打開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ù)器的啟動順序如下:?
    tomcat1 --> |tomcat2 --> |nginx?

    先啟動tocmat1,tomcat1啟動完全的時候再啟動tomcat2,等兩個tocmat全啟動之后,再啟動nginx

    負載的時候可以用APACHENGINX,如果什么都不用,兩臺一接防問了話,可能會出錯極session不同步的問題,網(wǎng)上也很多人介意不要做seeeion同步,這樣會降低機器的性能,有一個方法可以,就是NGINXip_hash,這樣至少可以保證客戶端去防問同一臺TOCMAT,除非那臺TOCMAT掛了





    一、下載下列幾個 Jar包?
    http://memcached-session-manager.googlecode.com/files/memcached-session-manager-1.3.0.jar?
    http://memcached-session-manager.googlecode.com/files/msm-javolution-serializer-jodatime-1.3.0.jar?
    http://memcached-session-manager.googlecode.com/files/msm-javolution-serializer-cglib-1.3.0.jar?
    http://spymemcached.googlecode.com/files/memcached-2.4.2.jar?
    http://memcached-session-manager.googlecode.com/files/javolution-5.4.3.1.jar?

    將以下幾個Jar包Copy到 $TOMCAT_HOME/lib目下,每個Tomcat節(jié)點都需要有。?

    二、配置Tomcat的Server.xml配置文件,樣本可以點擊這里下載,主要內(nèi)容如下:?
    http://www.javabloger.com/images/2010-05/webcluster/server.xml.txt?

    <Context docBase="D:\webapp" path="" reloadable="true" >?
    <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"?
    memcachedNodes="n1:localhost:11211"?
    requestUriIgnorePattern=".*\.(png|gif|jpg|css|js)$"?
    sessionBackupAsync="false"?
    sessionBackupTimeout="100"?
    transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"?
    copyCollectionsForSerialization="false"?
    />?
    </Context>?

    每個Tomcat的節(jié)點都需要修改。

    posted on 2011-06-22 22:15 禮物 閱讀(3219) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。

    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲影院天堂中文av色| 久久亚洲日韩精品一区二区三区 | 久久久久亚洲爆乳少妇无| 在线观看亚洲网站| 免费jjzz在在线播放国产| 色吊丝免费观看网站| 亚洲精品久久久www| 一个人看的在线免费视频| 中文国产成人精品久久亚洲精品AⅤ无码精品| 国产成人精品日本亚洲语音 | 欧美亚洲国产SUV| 国产免费小视频在线观看| 手机永久免费的AV在线电影网| 亚洲精品成a人在线观看| 老司机精品免费视频| 亚洲第一精品在线视频| 99热在线精品免费全部my| 中文字幕在线日亚洲9| 免费人成在线观看播放国产| 亚欧洲精品在线视频免费观看 | 国产AV无码专区亚洲AV漫画| 日本一区午夜艳熟免费| 亚洲特级aaaaaa毛片| 免费无码又爽又刺激高潮| 一级看片免费视频| 亚洲精品高清国产一久久| 三年片在线观看免费观看高清电影 | 亚洲精品综合在线影院| 国产一区二区三区在线免费观看 | 污视频网站在线免费看| 亚洲成a人片在线观看日本| 99久久久国产精品免费无卡顿| 亚洲狠狠色丁香婷婷综合| 久久亚洲综合色一区二区三区| 很黄很色很刺激的视频免费| 亚洲精品自在在线观看| 永久免费av无码网站大全| 国产免费久久精品丫丫| 国产精品亚洲A∨天堂不卡| 久久国内免费视频| 精品国产呦系列在线观看免费|