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

[经验分享] Apache+Tomcat 负载均衡、集群配置

[复制链接]

尚未签到

发表于 2017-1-6 08:28:22 | 显示全部楼层 |阅读模式
  本文是看了几位前辈关于Apache+Tomcat 负载均衡、集群的相关文章整理出的一份以便查阅的文章。
  有关说明是负载均衡,集群以及他们的优点在这里就不加论述了。
  在Apache2以前的版本中是没有集成和tomcat通信的jk模块,所以要单独下载mod_jk.so文件,再加以配置
  准备:apache(1个)、tomcat(2个或2个以上)、mod_jk.so文件
  这种配置方式见 http://www.iteye.com/topic/615307
  Apache2之后的版本中集成了mod_jk后配置简单了许多,准备的东西和上面一样。
  安装好apache后,找到\conf下的httpd.conf  用文本编辑器打开
  在110行处将

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
  这6行的注释放开(即去掉#)
  在462行附近把

Include conf/extra/httpd-vhosts.conf 行前的注释放开
  然后再该文档的最下方加入

ProxyRequests Off
<proxy balancer://jqname>
BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=tomcat1
BalancerMember ajp://127.0.0.1:7009 loadfactor=1 route=tomcat2
</proxy>
  配置apache的反向代理
  balancer://jqname 配置在集群中所有的tomcat节点
  下面配置2个集群的tomcat apache与tomcat通信是通过ajp协议,由于我是在一台机器上部署的2个tomcat
  所以这里都是127.0.0.1,后面是ajp通信端口在tomcat里面配置,下面会提到。
  loadfactor是类似一个权值的东西1:1就是各处理50%的请求,以此类推
  route对应在tomcat中配置的通道路径
  这样httpd.conf就配置完毕了
  然后打开\conf\extra下的httpd-vhosts.conf 在最后加入

<VirtualHost *:80>
ServerAdmin zhanghaifeng212@yahoo.com.cn
ServerName  192.168.12.65
ServerAlias localhost
ProxyPass / balancer://jqname/ stickysession=jsessionid nofailover=On
ProxyPassReverse / balancer://jqname/
ErrorLog "logs/zhanghf-error.log"
CustomLog "logs/zhanghf-access.log" common
</VirtualHost>
  ServerAdmin 管理员邮箱
  ServerName 域名(可以用ip)
  ServerAlias 别名
  balancer://jqname 需要负载均衡 “jqname” 集群名称,需要和httpd.conf中的集群名称一致
  httpd-vhosts.conf 配置完毕
  tomcat的配置(这里用的是2个tomcat在同一台机器)
  分别将tomcat1和tomcat2的conf 中的 server.xml 修改如下
  在99行附近把

<!-- You should set jvmRoute to support load-balancing via AJP ie :
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">         
-->
放开注释,把下面的<Engine name="Catalina" defaultHost="localhost"> 加上注释;
或直接在这句上加入 jvmRoute节点
  jvmRoute和httpd.conf中的route保持一致
  再将107行附近的

<!--
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
-->    放开注释
  放开注释,这个是配置集群的,我们测试用的是tomcat 的默认集群配置
  因为我用的是同一台机器放2个tomcat,需要改一个tomcat 的配置 (如tomcat2的server.xml修改如下)
  22行附近
  <Server port="8005改为7005或其他" shutdown="SHUTDOWN">
  69行附近
  <Connector port="8080改为7080或其他" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
  90行附近
  <Connector port="8009改为7009或其他" protocol="AJP/1.3" redirectPort="8443" />
  这里的ajp端口要和httpd.conf中的端口对应。
  tomcat配置完毕
  最后将项目分别部署到tomat1,和tomcat2中,启动 apache,tomcat1,tomcat2
  访问http://localhost/yourProjectName/index.jsp 如果加了后台输出语句即可看到,每次请求是轮流使用
  tomcat1和tomcat2,在session中保存几个变量输出,也可看见session的同步。把其中一个tomcat关闭,也不
  影响另一个。
  欢迎大家批判!

运维网声明 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-324461-1-1.html 上篇帖子: 通过ajp_proxy配置Apache+Tomcat集成 下篇帖子: 开源性能测试工具- Apache Bench(转)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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