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

[经验分享] 真正部署中的apache+tomcat负载均衡

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-8-3 13:30:39 | 显示全部楼层 |阅读模式
  Apache + Tomcat 配置负载均衡
  此文档内容已经经过测试
  JavaSDK版本: 1.6.20
Apache版本: 2.2.15
Tomcat版本: 6.0.26
====================================
安装
javaSDK就默认安装了.
  apache的安装没有什么特别的,一路下一步即可,当然,最好修改apache的默认安装目录.
安装时注意,80端口不要被占用了.
  tomcat的安装需要考虑下,是采用解压版本的tomcat,还是安装版本的tomcat.
我们这里采用解压版的tomcat(不是炫耀自己).
因为需要做tomcat的负载均衡,因此肯定需要解压2个以上的tomcat.我们这里用两个tomcat.
  解压到某一个目录中后,需要修改tomcat目录中bin目录下的catalina.bat文件和catalina.bat文件,在文件首部加入:
set JDK_DIR=C:\Program Files\Java\jdk1.6.0_20
set JAVA_HOME=%JDK_DIR%
set tomcatStart="d:\tomcat1\bin\"
这样运行每个tomcat时,就不会因java和tomcat路径混乱导致出错了.
  配置
一、配置apache
修改apache的配置文件httpd.conf
  1. 启用moddle
将以下Module的注释去掉,这里并没有使用mod_jk.so进行apache和tomcat的链接,从2.X以后apache自身已集成了mod_jk.so的功能。只需简单的把下面几行去掉注释,就相当于以前用mod_jk.so比较繁琐的配置了。这里主要采用了代理的方法,就这么简单。
LoadModule proxy_module modules/mod_proxy.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_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
  注: 我启用了三个就OK了  mod_proxy.so  /  mod_proxy_ajp.so   /  mod_proxy_balancer.so
  2. 添加页面
再找到加上index.jsp修改成

DirectoryIndex index.html index.jsp

  3. 加入BalancerMember成员(与tomcat关联)
然后在httpd.conf文件最下方加入:
  ProxyRequests Off

BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm1
BalancerMember ajp://127.0.0.1:8010 loadfactor=1 route=jvm2

  这里的IP跟端口就是跟tomcat中的配置一样即可.如果在同一台计算机上,就如上配置,如果不在同一台计算机上,就要修改IP.
上面的两个BalancerMember成员就是我们配置的tomcat集群.
  4. 虚拟主机设置
接下来进行虚拟主机的设置。APACHE的虚拟主机设置如下:
首先要修改 conf/httpd.conf找到(#Include conf/extra/httpd-vhosts.conf) , 把注释去掉。
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
在下面加入

         ServerAdmin tgh1981@163.com
         ServerName localhost
         ServerAlias localhost
         ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On
         ProxyPassReverse / balancer://cluster/

其中的域名和路径根据你自己情况设置
然后再设置TOMCAT虚拟主机
  二、tomcat配置
  修改tomcat1的配置文件 server.xml
  1. 修改SHUTDOWN端口(tomcat的关闭端口)
tomcat1:
tomcat2:
  2. 修改运行端口
因为tomcat有两个,因此只需要修改其中某一个tomcat运行的端口即可:
tomcat1:

tomcat2:

注:只需要修改port参数,不用修改redirectPort参数
  3. 修改connector的端口
tomcat1:
tomcat2:
注:只需要修改port参数,不用修改redirectPort参数
  4. 启用配置 Engine
为了通过AJP来支持负载均衡,需要配置engine的jvmRoute属性.
server.xml文件中, 修改Engine 段, 增加jvmRoute参数,如下:
tomcat1:
tomcat2:
  5. 配置Cluster
server.xml文件中,原来的配置  应该是被注释的,现在用下面的配置代替:(tomcat文档中推荐的).这个设置是主要用以tomcat的集群.
关键在于 Receiver 段中的port参数,tomcat之间必须不同:
tomcat1:
      
  
  
            
            
  
              
            
            
            
         
  
         
  
  
         
         
  tomcat2:
      
  
  
            
            
  
              
            
            
            
         
  
         
  
  
         
         
  
三、启动服务,测试tomcat自带的例子
  1、测试apache和tomcat协作。
先在每个tomcat中的\webapps\ROOT下的index.jsp下面加上以下的测试代码部分:(X代表不同的tomcat的输出不同的信息),把index.html删除,以免影响测试效果。在最后面的加上.即之间。

然后再通过http://127.0.0.1/来访问一下,就会出现大家熟悉的猫猫。
然后再通过分别访问
http://127.0.0.1:8080/, http://127.0.0.1:8081/ , 它们访问的内容和上面的http://127.0.0.1/是一样的。
这样就说明apache和TOMCAT整合成功!
2、测试均衡器
通过http:// 127.0.0.1多次访问,要想看到真正的效果,必须用一些压力测试工具,可用微软Microsoft Web Application Stress Tool进行简单压力测试,不然你靠不停刷新是体现不出来的,你只会在一个tomcat的控制台有输出结果。只用用压力测试工具模拟大量用户同时访问,你会发现四个tomcat控制台均有打出控制信息,说明均衡器工作正常。
  
四、问题处理
  若启动时出现这样的错误提示:
2010-06-28 15:04:51 org.apache.catalina.ha.deploy.FarmWarDeployer start
严重: FarmWarDeployer can only work as host cluster subelement!  
则将以下部分注释掉: (一般情况都会遇到的)

  
  以上内容参考了诸多文档,终于自己测试OK并部署成功了.
  
  

运维网声明 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-93747-1-1.html 上篇帖子: ubuntu下 apache 80端口错误提示的几种情况 下篇帖子: windows下 apache 二级域名相关配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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