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

[经验分享] apache和tomcat负载均衡

[复制链接]

尚未签到

发表于 2018-11-25 11:31:35 | 显示全部楼层 |阅读模式
一.安装jdk
  1.# tar -zxvf jdk-7u3-linux-i586.tar.gz -C /usr/local/
   # mv /usr/local/jdk1.7.0_03 /usr/loal/jdk
   # ln -s /usr/local/jdk/bin/java /usr/bin/java
   # ln -s /usr/local/jdk/bin/javac /usr/bin/javac
到这里,java已经安装好了,下面的是验证java了,如果出现了java的版本号,就证明安装成功了
   # java –version
   会出现:
java version "1.7.0_03"
Java(TM) SE Runtime Environment (build 1.7.0_03-b04)
Java HotSpot(TM) Client VM (build 22.1-b02, mixed mode)
证明成功,如果没有,会报下面的错误:
Error: failed /usr/local/jdk/jre/lib/i386/client/libjvm.so, because /usr/local/jdk/jre/lib/i386/client/libjvm.so: cannot restore segment prot after reloc: Permission denied
你关闭Selinux就好了,不然,你就需要该标签,如下:
# chcon -t textrel_shlib_t /usr/local/jdk/jre/lib/i386/client/libjvm.so

# ln -s /usr/local/jdk/jre /usr/local/jre

  2.设置环境变量
# vim /etc/profile
在最后添加如下内容:
JAVA_HOME=/usr/local/jdk
export JAVA_HOME
JRE_HOME=/usr/local/jre
export JRE_HOME

# source /etc/profile  ------>使环境变量生效

二.安装apache
  1.# tar -zxvf httpd-2.2.23.tar.gz
    # cd httpd-2.2.23
    # ./configure --prefix=/usr/local/apache --enable-modules=so --enable-mods-shared-all --enable-proxy --enable-proxy-connect --enable-proxy-ftp --enable-proxy-http --enable-proxy-ajp --enable-proxy-balancer --enable-rewrite
    注释:激活tomcat集群需要的 enable-proxy,enable-proxy-http,enable-proxy-connect,enable-proxy-ajp和enable-proxy-balancer,其中proxy-ajp和proxy-balancer必须依赖proxy,如果是自定义的编译除了以上几个必须的模块外,mod_status也要编译进去,切记。enable-proxy-ftp可以不编译。
#make;make install

    # make
    # make install

  2.修改apache的配置文件
    # vim /usr/local/apache/conf/httpd.conf
    在index.html后面添加index.jsp,如下:


    DirectoryIndex index.html index.jsp


    找到#Include conf/extra/httpd-vhosts.conf,将前面的注释符#去掉。

    然后再最下面添加如下信息:
ProxyRequests Off

  BalancerMember ajp://192.168.20.81:8009 loadfactor=2 route=jvm1
  BalancerMember ajp://192.168.20.153:8009 loadfactor=2 route=jvm2

**********************************************************************************
注释:ProxyRequests Off 是告诉Apache需要使用反向代理(利用Apache进行负载均衡必须使用反向代理;
      这里的"cluster"必须与上面的集群名保持一致。Apache通过ajp协议与tomcat进行通信,ip地址和端口唯一确定了tomcat节点和配置的ajp接受端口。loadfactor是负载因子,Apache会按负载因子的比例向后端tomcat节点转发请求,负载因子越大,对应的tomcat服务器就会处理越多的请求,如两个tomcat都是1,Apache就按1:1的比例转发,如果是2和1就按2:1的比例转发。route参数对应后续tomcat配置中的引擎路径(jvmRoute)
**********************************************************************************

  3.修改apache虚拟机配置文件
   该文件所在路径为:/usr/local/apache/conf/extra/httpd-vhosts.conf
将文件中以下内容注释掉:

#
#    ServerAdmin webmaster@dummy-host.example.com
#    DocumentRoot "/usr/local/apache/docs/dummy-host.example.com"
#    ServerName dummy-host.example.com
#    ServerAlias www.dummy-host.example.com
#    ErrorLog "logs/dummy-host.example.com-error_log"
#    CustomLog "logs/dummy-host.example.com-access_log" common
#

#
#    ServerAdmin webmaster@dummy-host2.example.com
#    DocumentRoot "/usr/local/apache/docs/dummy-host2.example.com"
#    ServerName dummy-host2.example.com
#    ErrorLog "logs/dummy-host2.example.com-error_log"
#    CustomLog "logs/dummy-host2.example.com-access_log" common
#

在文件末尾添加以下内容并保存:

    ServerAdmin zhangheng@juwangnet.com
    ServerName localhost       -->这里可以写ip,我是写成ip的
    ServerAlias localhost      -->这是这个虚拟机的别名
    ProxyPass / balancer://RHEL5-1/ stickysession=jsessionid nofailover=On
    ProxyPa***everse / balancer://RHEL5-1/


   4.修改httpd-info.conf配置文件,这个配置文件就是打开通过web查看一些apache的状态值的功能
    # vim httpd-info.conf
    在最后添加如下内容

SetHandler balancer-manager
    Order deny,allow
    Allow from all


    然后,将httpd-info.conf配置文件中的所有Deny from all的改成Allow from all
    最后取消ExtendedStatus On的注释


三. 安装第一台tomcat
1.# tar -zxvf apache-tomcat-7.0.26.tar.gz -C /usr/local/
   # mv /usr/local/apache-tomcat-7.0.26 /usr/local/tomcat
   #cd /usr/local/tomcat/bin/

2.修改tomcat的配置文件
   # vim server.xml
    修改内容如下:

   将这一句话改成
   注释:这里的jvmRoute的值必须对应于httpd.conf文件中最末添加的route的值。

   下面配置Connector的端口,找到non-SSL HTTP/1.1 Connector,即tomcat单独工作时的默认Connector,保留tomcat1默认配置,在8080端口侦听,而把tomcat2设置为在9080端口侦听,如果tomcat1和tomcat2不在同一台机器上,就不用改

   往下找到AJP 1.3 Connector,,这是tomcat接收从Apache过来的ajp连接请求时使用的端口,默认是9009;注意,这里的端口对应Apache httpd.conf中BalancerMember中配置的ajp连接端口。

    配置引擎:
     将这一句话改成
     注释:这里的jvmRoute的值必须对应于httpd.conf文件中最末添加的route的值。
   
   接着在修改的这一行下添加以下内容并保存:
     这些内容具体什么作用,可以看官网,我也不是太清楚!!!!不加这段,一个达到负载均衡的效果!下面的这些配置可以解决session问题哦!!!
    -
      
    -
      
      
    -
      
      
        
        
        
        
      
      
      
      
      
     

     到这里,我的第一台tomcat部署完了,

四.安装第二个tomcat
   1.只需将上面的tomcat目录复制一下,另起一个名字,就好了!
   2.然后,我们就需要修改这个tomcat的配置文件了,如果两个tomcat在同一台机器上,就需要修改第二台tomcat的所有端口号,让它与第一台tomcat的端口不同

   
       端口由8005改为9005,取值随意,不冲突就行。
   
       端口由8080改为9080,取值随意。
   
       端口由8009改为9009,此端口号須与httpd.conf文件中ajp://127.0.0.1:9009的端口一致。
   
       jvmRoute的值应与httpd.conf文件中的第二条route值一致。
   
       端口由4000改为4001,此处端口取值范围在4000~4100,只要与其他tomcat不冲突即可。

    我这里是将这台tomcat放在另一台机器上了,所有,不需要修改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-639353-1-1.html 上篇帖子: Linux+Apache+Postgresql+PHP安装Drupal7.15 下篇帖子: 通向架构师的道路(第一天)之Apache整合Tomcat
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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