博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA与Tomcat(续二)
阅读量:5816 次
发布时间:2019-06-18

本文共 4867 字,大约阅读时间需要 16 分钟。

四、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>


~                     

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

参考文件:

视频:

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/>

本文转自 blackstome 51CTO博客,原文链接:http://blog.51cto.com/137783/1968801,如需转载请自行联系原作者

你可能感兴趣的文章
Play For Scala 开发指南 - 第3章 常用类介绍
查看>>
Android开发效率—Eclipse快捷键
查看>>
iOS添加黑色蒙层
查看>>
Hibernate遇到的问题与解决方案
查看>>
hibernate 读取 blob 字段
查看>>
rsync简明手册
查看>>
Oracle存储过程-自定义数据类型,集合,遍历取值
查看>>
在Android上的使用代码覆盖工具
查看>>
MySQLdb安装 and 使用
查看>>
使 KVO在多个ViewController或者对象之间传值
查看>>
我的友情链接
查看>>
Python----Urllib的学习
查看>>
为什么要用二级域名
查看>>
数人云|万字解读:Service Mesh服务网格新生代--Istio
查看>>
SSO学习散记
查看>>
git创建与合并分支
查看>>
特征工程-知识汇总
查看>>
在引入多个包时,出现Unable to merge dex问题
查看>>
PHPECLIPSE插件安装
查看>>
MySQL查找某个字符的位置、截取、长度
查看>>