这份文档只是一个初步的配置负载均衡的文档,没有涉及过多的性能优化的东西。
所以也就不多言了,直接切入主题。
一、准备工作
安装JDK
并配置环境变量。这里要求至少
1.5
以上版本。
安装apache2.2
。我的安装目录为:
D:\Apache
2.2
安装tomcat6
。为了端口不起冲突,建议直接解压。我这里只使用了两台
tomcat
作为集群服务器。其路径分别为
D:\apache-tomcat-6.0.20_v1
、
D:\apache-tomcat-6.0.20_v2
二、配置Apache
这里说明一下,我在网上找到的一些资料都在介绍mod_JK
的方式配置负载均衡。但是从
apache2.X
版本之后其自身已经集成了
mod_jk
可以直接使用
mod_proxy
的方式进行负载均衡的配置,所以下面介绍的也即是这种方式。
在D:\Apache2.2\conf
目录下找到
httpd.conf
文件,并进行修改。修改步骤:
1、打开相关的模块。
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 rewrite_module modules/mod_rewrite.so
在配置文件里找到上述模块,将前边的“#
”去掉
.
2、
配置
tomcat
集群
。
在该配置文件的最后加上:
ProxyRequests Off
ProxyPass / balancer://cluster/
<proxy balancer://cluster>
BalancerMember ajp://
localhost:8009
loadfactor=1 route=
jvm1
BalancerMember ajp://
localhost:9009
loadfactor=1 route=
jvm2
</proxy>
注意红色部分,因为这里我只使用了一台物理机器作为集群的配置,所以就直接使用了localhost
指向本地的集群服务器,你也可以使用
127.0.0.1
。如果这里你使用多台机器一起配合的话,只需要将
localhost
修改为其他机器的
IP
地址就行。
另外需要注意的就是上面配置的端口,为什么要这么配置?将在后边结合tomcat
一起做一个详细的说明。
三、配置tomcat
在D:\apache-tomcat-*\conf
找到
server.xml
,然后着手修改。
1、配置
server
的关闭。
因为我是在同一台机器上配置两台tomcat
,所以为了使
tomcat
关闭不出现端口被占用的情况,需要修改关闭端口。
<Server port="
8005
" shutdown="SHUTDOWN">
修改为:
<Server port="
XXXX
" shutdown="SHUTDOWN">
注意,我这里用了两台tomcat
,所以第一个
tomcat
我就选择了默认的端口
8005
,第二个
tomcat
我将此端口修改为了
9005
。总之,如果你有多台
tomcat
服务器群,都需要将它们的端口修改为互不冲突的端口号。
2、配置
Connector
这里又两个地方需要修改,
第一个就是
tomcat
监听的
http
端口,另一个就是
tomcat
监听的
AJP
端口:
<Connector port="
8080
" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="
8009
" protocol="AJP/1.3" redirectPort="8443" />
注意,蓝色部分是tomcat
的
http
端口,因为我在同一台机器上配置了两个
tomcat
,为了使它们的
http
端口不冲突,我将第一个
tomcat
使用默认的端口即
8080
,第二个
tomcat
的
http
端口我修改为了
8081
。同样的道理,如果你还有其他的
tomcat
,记得将它们的
http
端口修改为互不冲突的端口号即可。
另一个需要修改的端口,红色部分的端口,
这里是apache
和
tomcat
链接的关键,前台
apache
就是通过
AJP
协议与
tomcat
进行通信的,以完成负载均衡的作用。
现在回过头去看看
apache的
httpd.conf
配置,
<proxy balancer://cluster>
BalancerMember ajp://
localhost:8009
loadfactor=1 route=
jvm1
BalancerMember ajp://
localhost:9009
loadfactor=1 route=
jvm2
</proxy>
那么,另一个tomcat
的
AJP
端口你知道要配置成什么了吗?对了,就是
9009
。
3、配置
Engine
<Engine name="Catalina" defaultHost="localhost">,这个是原来的配置,现在将这个配置修改为:
<Engine name="Catalina" defaultHost="localhost" jvmRoute="
jvm1
">,然后另一个
tomcat
修改为
<Engine name="Catalina" defaultHost="localhost" jvmRoute="
jvm2
">。
现在再回过头去看看apache
的配置:
<proxy balancer://cluster>
BalancerMember ajp://
localhost:8009
loadfactor=1 route=
jvm1
BalancerMember ajp://
localhost:9009
loadfactor=1 route=
jvm2
</proxy>
这里再说明一点,loadfactor
相当于一种加权策略,
loadfactor
的值越大,对应的
tomcat
服务器分到的请求就越多。像上面的这种设置就说明两台
tomcat
将平均负载。
4、配置
Session
的复制
Tomcat里的
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
这个配置默认是被注释掉的,如果想要开启取消注释就
OK
,这也是
tomcat
默认的会话同步和复制配置。一般的情况下,使用默认配置就可以。
关于session
的复制我还没来得及验证过,有需要的同学可以自己去网上找一下相关资料。
分享到:
相关推荐
Apache+tomcat负载均衡配置详解工具及文档
内附完整配置教程和修改后的apache的httpd.conf文件和tomcat的server.xml配置文件,包含test测试项目,不包含apache和tomcat安装文件。 本教程参考网上资料,本机测试成功,如有问题可以私信说明。
本人自己配置的windows平台apache+tomcat负载均衡实现,这个资源中包括apache,tomcat,测试项目+说明文档。只要正确安装apache,即可直接正常运行。本人参考网络,所以给贡献网络。
apache+tomcat7+jk负载均衡
配置安装Apache+Apache Tomcat实现tomcat负载均衡教程.doc
apache+tomcat负载均衡apache+tomcat负载均衡apache+tomcat负载均衡apache+tomcat负载均衡
apache+tomcat负载均衡配置源码
Mod_Proxy+Apache+Tomcat负载均衡与集群配置,比较详细的配置资料。
Apache+Tomcat负载均衡与集群配置详解 网上很多资料,但是很多不完整,或者仅有负载均衡或者只有集群,本文是建立实践通过的基础上
Apache&tomcat负载均衡集群配置详细介绍
详细描述了如何实现apache+tomcat负载均衡的步骤,希望对你有帮助!
linux_apache+tomcat负载均衡安装和调试.pdf
Apache+Tomcat负载均衡及Session绑定的实现 for windows
apache+tomcat负载均衡环境搭建,包括软件下载,安装,配置,照着步骤做即可。
Apache+Tomcat负载均衡及Session绑定的实现
apache6.0+Tomcat负载均衡整合文档 apache6.0+Tomcat负载均衡整合文档
NULL 博文链接:https://tree-161219.iteye.com/blog/460829
apache+tomcat+jk 均衡负载和集群 内有详细文档和你所需要的安装文件。 很好很强大!1 很好很强大!1 很好很强大!1 很好很强大!1