Apache负载均衡+Tomcat集群

说明:Apache和Tomcat配置集群不止一种方法,比较老一点的可能是使用mod_jk.so进行apache和tomcat的链接,这个方法稍微麻烦点,因为要单独下载mod_jk.so文件还要添加两个配置文件,在Apache2.X以后,它自身就集成了mod_jk.so功能,Apache官网下载Windows版本的比较麻烦,这里附上百度链接 点击这里 

下面来看看 Apache2.2.25+Tomcat 8 配置过程:


准备工作

1. 下载安装Apache,然后下载解压版的Tomcat,想要集群几个Tomcat就复制几个


配置Apache

1. 打开Apache   conf/httpd.conf文件,注释掉以下文件(就是将#去掉,理论上这些就够了,如果是ssl的Apache就把ssl释放开)

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_scgi_module modules/mod_proxy_scgi.so

2. 去掉Include conf/extra/httpd-vhosts.conf的注释#

3. 在当前文件(httpd.conf)最后添加以下代码

ProxyRequests Off
<proxy balancer://cluster>
BalancerMember ajp://127.0.0.1:8109 loadfactor=1 route=jvm1
BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm2
</proxy>

4. 在conf/extra/httpd-vhosts.conf 文件最后添加以下代码(因为我的IIS是80,所以我把Apache改成了8082端口)

<VirtualHost *:8082>
         ServerAdmin xiaoyiyz@126.com
         ServerName localhost
         ServerAlias localhost
         ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On
         ProxyPassReverse / balancer://cluster/
</VirtualHost>

Tomcat配置

Tomcat配置的时候要注意你是水平集群还是垂直集群,就是一台电脑还是多台,如果是多台电脑就不需要修改端口号,我这里是按照一台电脑来配置的,如下:

1.     <Server port="8005" shutdown="SHUTDOWN"> 

<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000" redirectPort="8443" /> 

<!-- Define an AJP 1.3 Connector on port 8009 -->
   
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

把以上端口号修改一下,每个Tomcat都不能一样,(注意AJP端口号,Apache是通过这个端口和Tomcat通信的,所以这里的端口号要对应Apache配置文件中

BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm2 的端口号<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">)</span>

2. 在配置文件中找到<Engine name="Catalina" defaultHost="localhost">
在后面加上 jvmRoute="jvm2"  如:<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm2">

注意这里的jvm2对应Apache中BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm2的配置

3. <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>改为
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster">
        <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
</Cluster>


到这里就算配置完成了,然后启动Apache,Tomcat    在Tomcat webapps文件夹中新建一个jsp测试文件,代码如

<%     
    System.out.println("===========================");    
%> 

在浏览器里面输入http://localhost:8082/TestSolution/Test.jsp,测试一下吧



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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值