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

[经验分享] Apache 负载均衡 + tomcat群集

[复制链接]

尚未签到

发表于 2018-11-28 07:47:34 | 显示全部楼层 |阅读模式
Apache 负载均衡 + tomcat群集
  1.环境介绍
  操作系统环境 :windows xp sp3 (一台机器上跑 2个或多个tomcat服务)
  Java环境:   jdk1.6.0_13
  软件:apache_2.2.13-win32-x86-no_ssl.msi
  apache-tomcat-6.0.20.zip

  2.jdk的安装
  安装过程省略
  环境变量的设置:
  我的电脑——属性——高级——环境变量——
  添加 CLASS_PATH=C:\Java\jdk1.6.0_13
  JAVA_HOME=C:\Java\jdk1.6.0_13
  PATH=C:\Java\jdk1.6.0_13\bin

  测试java是否安装正确:
  运行里面输入cmd——java 或者javac 或有参数出来

  或者,会出来帮助信息

  3.正式开始安装:
  apache的安装:
  下载apache软件包:
  Win32 Binary without crypto (no mod_ssl) (MSI Installer): apache_2.2.13-win32-x86-no_ssl.msi
官方下载链接地址:

http://labs.xiaonei.com/apache-mirror/httpd/binaries/win32/apache_2.2.13-win32-x86-no_ssl.msi

个人习惯,我在c盘根下建立个webserver文件。里面放apache和tomcat程序。

安装过程省略。安装好后,apache安装在C:\webserver\httpd

配置负载均衡服务器Apache。

把这个模块的注释去掉

  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
  再找到加上index.jsp修改成
  
  DirectoryIndex index.html index.jsp
  
在配置文件的末尾加上:

ProxyRequests Off

ProxyPass / balancer://mycluster stickysession=jsessionid nofailover=On


BalancerMember http://192.168.1.117:9080

BalancerMember http://192.168.1.117:10080



SetHandler balancer-manager

Order Deny,Allow

Deny from all

Allow from all



SetHandler server-status

Order Deny,Allow

Deny from all

Allow from all


说明:

ProxyPass / balancer://mycluster stickysession=jsessionid nofailover=On


BalancerMember http://192.168.1.117:9080

BalancerMember http://192.168.1.117:10080


ProxyPass为代理转发的Url,即将所有访问/ (这里的/ 指的是apache默认的htdoc的主目录)的请求转发到群集balancer://mycluster

BalancerMember为群集的成员,即群集服务器A或B,负载均衡服务器会根据均衡规则来将请求转发给BalancerMember。

注:如果你的网页主目录下面的index.jsp要连接其他的子链接的话,这里的连接方式应该这样写

不然访问网页的时候会报错

Internal Server Error
  The server encountered an internal error or misconfiguration and was unable to complete your request.
  Please contact the server administrator, ldtrain@163.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
  More information about this error may be available in the server error log.
修改方法:

ProxyPass / balancer://mycluster/ stickysession=jsessionid nofailover=On


BalancerMember http://192.168.1.117:9080/

BalancerMember http://192.168.1.117:10080/


启动apache服务:

Apache启动成功


  Tomcat集群的配置:
  1.       下载tomcat的软件包:下载解压版本
  下载地址:
  http://apache.freelamp.com/tomcat/tomcat-6/v6.0.20/bin/apache-tomcat-6.0.20.zip
  解压tomcat 到c盘根目录,重命名为tomcat1,然后复制tomcat1为tomcat2.

  2.       配置群集服务器tomcat1号服务器
  端口规划:
  配置参数
  群集服务器A(tomcat1
  群集服务器B(tomcat2
  Server port
  9005
  10005
  Connector
  9080
  10080
  Coyote AJP Connector
  9009
  10009
  Cluster mcastAddr
  224.0.0.1
  224.0.0.1
  Cluster mcastPort
  45564
  45564
  tcpListenAddress
  本机ip地址
  本机ip地址
  Cluster tcpListenPort
  5001
  5002
  修改server.xml配置文件
  Tomcat1中修改的部分:
  1.
  2.
  1.      
  4.
  ———————————–添加的部分———————————–
  添加在之间

  
    expireSessionsOnShutdown="false"
  notifyListenersOnReplication="true"
  mapSendOptions="6"/>

  
    address="224.0.0.1"
  port="45564"
  frequency="500"
  dropTime="3000"/>

    address="auto"
  port="5001"
  selectorTimeout="100"
  maxThreads="6"/>

  
    

  
  
    

    filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>

    tempDir="/tmp/war-temp/"
  deployDir="/tmp/war-deploy/"
  watchDir="/tmp/war-listen/"
  watchEnabled="false"/>

    
  
  Tomcat2中修改的部分:
  1.
  2.
  3.
  4. 添加在之间
  

  
    expireSessionsOnShutdown="false"
  notifyListenersOnReplication="true"
  mapSendOptions="6"/>

  
    address="228.0.0.4"
  port="45564"
  frequency="500"
  dropTime="3000"/>

    address="auto"
  port="5002"
  selectorTimeout="100"
  maxThreads="6"/>

  
    

  
  
    

    filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>

    tempDir="/tmp/war-temp/"
  deployDir="/tmp/war-deploy/"
  watchDir="/tmp/war-listen/"
  watchEnabled="false"/>

    
  
  集群测试
  在2个tomcat里面添加网页
  Tomcat1上的\webapps\ROOT\index.html内容如下:
  
  Tomcat 群集1
  
  Tomcat 1号机在tomcatA机上
  
  
  
  Tomcat2上的webapps\ROOT\index.html内容如下:
  
  Tomcat 群集2
  
  Tomcat 2号机在TomcatB机上
  
  
  
  启动Tomcat1和Tomcat2,再启动Apache

  点击刷新,页面马上会跳到第二台tomcat服务器上

  注:如果访问网页出现拒绝访问的情况,
  Forbidden
  You don't have permission to access /~web on this server.
  Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.
  原来是httpd.conf文件中的权限访问控制设置不对,具体是以下这段:
  
  Options FollowSymLinks
  AllowOverride None
  Order deny,allow
  Allow from all
  
  其中的Deny from all应该设置成Allow from all,这是针对根目录/的一个设置,因为我的自定义目录是/myweb/。


运维网声明 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-640495-1-1.html 上篇帖子: resin3+apache2 下篇帖子: 使用shell脚本自动安装Apache2.4.35
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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