Appach本地搭建tomcat集群

需要的软件目录:

一,下载Appach服务器

这个是负载均衡服务器,用来转发请求到不同的tomcat上:

二,在F盘建文件夹httpd,里面放置tomcat,子文件夹Appache HTTP,httpd安装在此目录;

三、下载tomcat
下载好解压出来两份命名为tomcat1和tomcat2 放到httpd下面

四,下载mod_jk,这个是用来搭建tomcat集群的插件;

下载地址:

http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.31/mod_jk-1.2.31-httpd-2.2.3.so

下载好放到

F:\httpd\Apache HTTP\modules里面

五,新建mod_jk.conf,放到目录F:\httpd\Apache HTTP\conf下;

输入内容:

#加载mod_jk Module
LoadModule jk_module modules/mod_jk-1.2.31-httpd-2.2.3.so

#指定workers.properties文件路径 
JkWorkersFile conf/workers.properties

#指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器名
JkMount /* controller
六,新建workers.properties,放到F:\httpd\Apache HTTP\conf下

输入内容:

#server
worker.list = controller
#========tomcat1========
#ajp13端口号,在tomcat下server.xml配置,默认8009
worker.tomcat1.port=8009


#tomcat的主机地址,如不为本机,请填写ip地址 
worker.tomcat1.host=localhost


#协议类型
worker.tomcat1.type=ajp13


#server的加权比重,值越高,分得的请求越多。lbfactor是负载平衡因数(Load Balance Factor)
worker.tomcat1.lbfactor=1


#========tomcat2========
worker.tomcat2.port=9009
worker.tomcat2.host= localhost
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor=1


#========controller,负载均衡控制器========
#负载均衡控制器类型,lbfactor是负载平衡因数(Load Balance Factor)
worker.controller.type=lb


#指定分担请求的tomcat列表
worker.controller.balanced_workers=tomcat1,tomcat2


#粘性session(默认是打开的) 当该属性值=true(或1)时,代表session是粘性的,即同一session在集群中的同一个节点上处理,session不跨越节点。在集群环境中,一般将该值设置为false
worker.controller.sticky_session=false


#设置用于负载均衡的server的session可否共享  1为共享
worker.controller.sticky_session_force=1
七,修改httpd.conf

文件在F://httpd/Apache HTTP/conf  下面,
在文件的末尾新增下面这句话:
Include conf/mod_jk.conf

八,配置F:\httpd\tomcat1\conf\server.xml

<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
jvmRoute 为你这个tomcat的名字,要和上面那个workers.properties里面的配置想照应。
然后在这个节点下面新增下面内容:

<!-- 开启tomcat集群模式 -->
	  <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="auto"
                          port="4000"
                          autoBind="100"
                          selectorTimeout="5000"
                          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=""/>
          <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
 
 
          <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
                    tempDir="/tmp/war-temp/"
                    deployDir="/tmp/war-deploy/"
                    watchDir="/tmp/war-listen/"
                    watchEnabled="false"/>
 
 
          <ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
          <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
       </Cluster>

 九,

配置另一个tomcat
 

和七步一样,只不过

 <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2">

jvmRoute要写tomcat2

然后在这个节点下面新增和tomcat1一样的内容;

十,

修改tomcat2的端口

在tomcat2/conf/server.xml
tomcat1的端口不用改,用默认的就行,主要是为了tomcat2的端口不和tomcat1的端口冲突


<Server port="9005" shutdown="SHUTDOWN">
<Connector port="9080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<Connector port="9009" protocol="AJP/1.3" redirectPort="8443" />

十一、重新启动Apache server

 

在桌面右下角有个Apache服务器的图标,鼠标点击他,有个restart;

最后测试集群是否搭建成功:

把一个完好的项目放到分别放到tomcat1和tomcat2里;启动两个tomcat;

然后输入     localhost/项目名字   就以访问项目,此时关掉一个tomcat仍可以访问项目,就是搭建成功;

 

启动两个tomcat很有可能会报错

tomcat内存溢出;我这儿修改适合自己的设置

修改此文件F:\httpd\tomcat1\bin\catalina.bat

set JAVA_OPTS=-server -Xms512m -Xmx3g -XX:MaxNewSize=128m -XX:MaxPermSize=512m;

此时项目可以正常启动

 

参考链接https://blog.csdn.net/junmoxi/article/details/77671789

https://blog.csdn.net/dearfinance/article/details/79907594

https://www.cnblogs.com/aGboke/p/5057372.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值