四、tomcat管理

1、打开web页面管理功能

修改/usr/local/tomcat/conf/tomcat-users.xml文件

[root@10 local]# vim /usr/local/tomcat/conf/tomcat-users.xml 


<?xml version="1.0" encoding="UTF-8"?>


<tomcat-users xmlns="http://tomcat.apache.org/xml"

              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

              xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"

              version="1.0">


<role rolename="manager-gui"/>

<user username="tomcat" password="123123" roles="manager-gui"/>



</tomcat-users>

修改/usr/local/tomcat/webapps/manager/META-INF/context.xml,添加以下内容

[root@10 local]# vim /usr/local/tomcat/webapps/manager/META-INF/context.xml 


<?xml version="1.0" encoding="UTF-8"?>


<Context antiResourceLocking="false" privileged="true" >

  <Valve className="org.apache.catalina.valves.RemoteAddrValve"

             allow="\d+\.\d+\.\d+\.\d+|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />


</Context>


~                     

实现会话保持的负载均衡实现方式:

参考文件:http://blog.csdn.net/yipanbo/article/details/44079083/

视频:http://edu.51cto.com/center/course/lesson/index?id=69812

1、首先在httpd服务器上的/etc/httpd/conf.d/tomcat-balance.conf上做如下配置:

[root@localhost network-scripts]# vim /etc/httpd/conf.d/tomcat-balance.conf 


proxyvia on

proxyrequests off

proxypreservehost off

<location /lbmanager-test>

        sethandler balancer-manager

        proxypass !

        order deny,allow

        allow from all

</location>


<proxy balancer://hotcluster>

        balancermember http://10.40.0.229:80/test1 loadfactor=1

        balancermember http://10.40.0.226:80/test1 loadfactor=1

        proxyset lbmethod=byrequests

</proxy>


proxypass /test1 balancer://hotcluster

proxypassreverse /test1 balancer://hotcluster


<proxy * >

        order deny,allow

        allow from all

</proxy>

<location /* >

        order allow,deny

        allow from all

</location>         

分别在tomcat(10.40.0.{229,226})上添加如下内容:

      <Realm className="org.apache.catalina.realm.LockOutRealm">


        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"

               resourceName="UserDatabase"/>

      </Realm>


      <Host name="localhost"  appBase="webapps"

            unpackWARs="true" autoDeploy="true">


        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

               prefix="localhost_access_log" suffix=".txt"

               pattern="%h %l %u %t &quot;%r&quot; %s %b" />


      </Host>

        <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" 

                channelSendOptions="6">    

            <Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true"/>      

            <Channel className="org.apache.catalina.tribes.group.GroupChannel">    

            <Membership className="org.apache.catalina.tribes.membership.McastService" address="228.0.0.4" port="45564" frequency="500" dropTime="3000"/>    

              <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" address="10.40.0.229" 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.ThroughputInterceptor" />    

            </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.ClusterSessionListener" />


      </Cluster>  

    </Engine>

  </Service>

</Server>

        <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" 

                channelSendOptions="8">

            <Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false"  notifyListenersOnReplication="true"/>

            <Channel className="org.apache.catalina.tribes.group.GroupChannel">

            <Membership className="org.apache.catalina.tribes.membership.McastService" address="228.0.0.4"  port="45564" frequency="500" dropTime="3000"/>

              <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" address="10.40.0.226" 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.ThroughputInterceptor" />

            </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.ClusterSessionListener" />

        </Cluster>

将web.xml复制到项目目录中,并添加<distributable/>

cp /usr/local/tomcat/conf/web.xml /usr/local/tomcat/webapps/test1/WEB-INF/


<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"

  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee

                      http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"

  version="3.1">

<distributable/>


屏幕快照 2017-09-20 下午1.58.38.png

屏幕快照 2017-09-20 下午1.58.49.png

屏幕快照 2017-09-20 下午3.14.21.png

屏幕快照 2017-09-14 下午3.30.30.png