设为首页 收藏本站
查看: 748|回复: 0

[经验分享] apache+tomcat集群和负载均衡配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-1-6 06:10:54 | 显示全部楼层 |阅读模式
Apache+tomcat

负载均衡的入门配置这份文档只是一个初步的配置负载均衡的文档,没有涉及过多的性能优化的东西所以也就不多言了,直接切入主题。

一、准备工作
安装JDK并配置环境变量。这里要求至少1.5以上版本。
安装
apache2.2
。我的安装目录为:D:\Apache2.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  
LoadModule negotiation_module modules/mod_negotiation.so
2013年ACCA/CAT考试全攻略
每日一练历年真题模拟测试章节知识点

在配置文件里找到上述模块,将前边的“#”去掉.  

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,然后着手修改。、配置
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的复制我还没来得及验证过,有需要的同学可以自己去网上找一下相关资
料。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-324353-1-1.html 上篇帖子: The Apache Tomcat Connector 下篇帖子: Apache Pig的UDF返回值问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表