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

[经验分享] Centos下Apache+tomcat 负载均衡

[复制链接]

尚未签到

发表于 2018-11-21 11:57:29 | 显示全部楼层 |阅读模式
  操作系统:CentOS-6.0-i386-bin-DVD
  内核版本:2.6.32
[root@localhost ~]# cat /proc/version
Linux version 2.6.32-71.el6.i686  gcc版本:4.4.4
  g++版本:4.4.7
  java版本:1.6.0_45
gcc、g++和java是必须的,执行命令:[root@localhost ~]# gcc --version
gcc (GCC) 4.4.4 20100726 (Red Hat 4.4.4-13)
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[root@localhost ~]# g++ --version
-bash: g++: command not found
[root@localhost ~]# java -verion
-bash: java: command not found1、需要安装g++和Java环境
[root@localhost ~]#yum install gcc-c++
[root@localhost ~]# g++ --version
g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  安装Java环境:
chmod 777 jdk-6u45-linux-i586.bin
./jdk-6u45-linux-i586.bin  修改环境变量 #vi /etc/profile,
  

  在文件最后面添加下面一段内容:
JAVA_HOME=/usr/local/jdk1.6.0_45
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME PATH CLASSPATH  保存
  #source /etc/profile,使文件立即生效
  检查jdk是否安装成功:
[root@localhost ~]# java -version
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) Client VM (build 20.45-b01, mixed mode, sharing)  2、接下来安装Apache

[root@localhost software]# tar -zxvf httpd-2.2.8_apache.tar.gz
[root@localhost software]# cd httpd-2.2.8
[root@localhost httpd-2.2.8]# ./configure --prefix=/usr/local/apache --enable-mods-shared=most --with-mpm=worker
[root@localhost httpd-2.2.8]# make
[root@localhost httpd-2.2.8]# make install  查看工作模式:
[root@localhost bin]# pwd
/usr/local/apache/bin
[root@localhost bin]# ./httpd -l
Compiled in modules:
  core.c
  worker.c
  http_core.c
  mod_so.c  浏览器访问虚拟机IP:http://192.168.88.130/ 若出现it works则成功

It works!
  (注意:虚拟机的防火墙要关闭状service iptables stop(暂时的关闭,下次重启还是会开启);永久性关闭是chkconfig iptables off,但还是要从下次虚机开启时才生效)。
  3、安装tomcat
  由于要在本地开启两个tomcat服务器实例以模拟负载均衡+群集的效果,因此需要将之前解压出来的tomcat复制成两份,进入解压时的目录,重命名解压出来的原始目录为worker2,然后复制此目录,副本目录名称为worker3:
[root@localhost local]# mv apache-tomcat-7.0.41/ worker2
[root@localhost local]# cp worker2/ -r worker3  现在测试tomcat能否正常工作:
  将测试文件TestProject.war放到的webapps目录下。然后切换到worker2的bin目录下,启动worker2

[root@localhost bin]# ./startup.sh  在浏览器中访问 http://192.168.88.130:8080/TestProject/showInfo.do,若出现如下信息则配置正确:
  
This message is from Server, RealPath:
/usr/local/worker2/webapps/TestProject/
Current Session Id:
A480B9239CFC9DA0EC6FC18FED6FCB1B  可以正常工作,先关闭worker2.
  4、编译配置jk链接器
  下载mod_jk-1.2.23-apache-2.2.x-linux-i686.so (注意:一定要跟自己的系统版本吻合,否则会出错)
  改名为mod_jk.so,赋予777权限,拷贝到/usr/local/apache/modules下
  # cp mod_jk.so /usr/local/apache/modules
  

  在Apache的httpd.conf里增加如下内容:
  include "/usr/local/apache/conf/mod_jk.conf"
  

  在conf路径下新建mod_jk.conf文件,并添加如下内容
#加载mod_jk Module  
LoadModule jk_module modules/mod_jk.so
#指定 workers.properties文件路径  
JkWorkersFile conf/workers.properties
#指定哪些请求交给tomcat处理,"loadbalancer"为在workers.propertise里指定的负载分配控制器名
JkLogFile logs/mod_jk.log
#JkLogLevel debug
JkMount  /*.do loadbalancer
JkMount  /*.jsp loadbalancer  在conf下新建workers.properties文件,并添加如下内容
worker.list=loadbalancer   #此处与mod_jk.conf中保持一致
worker.worker2.port=8009  
#tomcat2中 ajp13 端口号,对应tomcat配置文件server.xml中Connector port="8009",默认8009
worker.worker2.host=127.0.0.1 #worker2的地址,本机loaclhost或者127.0.0.1,远程直接写IP
worker.worker2.type=ajp13     #与worker2中的server.xml的protocol保持一致
worker.worker2.lbfactor=1     #负载的权重值,越高表示负载越大
worker.worker3.port=9009
worker.worker3.host=127.0.0.1
worker.worker3.type=ajp13
worker.worker3.lbfactor=1
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=worker2,worker3
#指定负载的worker列表,用逗号分隔
worker.loadbalancer..sticky_session=false
#配置session会话是否为粘性   
#这样负载均衡器lb就会尽量保持一个session,也就是使用户在一次会话中跟同一个Tomcat进行交互
worker.loadbalancer..sticky_session_force=false
worker.loadbalancer.sticky_session=1
#是否启用session共享  worker.worker2.port:第一台负载均衡服务器AJP协议连接器的连接端口,这里配置为8009
  worker.worker2.host:第一台负载均衡服务器的主机名、域名或者IP地址,这里配置为本机localhost
  worker.worker2.type:JK模块实现负载均衡采用的是AJP协议1.3版本,因此第一台负载均衡服务器的类型配置为ajp13
  worker.worker2.lbfactor:第一台负载均衡服务器在整个负载均衡系统中所占的权重,这里配置为10,权重越大,越有可能处理更多的请求,建议给性能好的机器配置更高的权重。
  

  5、修改2个tomcat的server.xml,保证2个tomcat的端口号不一致,具体配置如下,
  [root@localhost conf]# vim server.xml



  
  
  
  
  
  
  
  
  
  
  
   
   
  
  

   
   
   
   
   
   

   

   
        
      
      
   
  
  需要修改的地方都有注释,8005 8080 8009 需要修改的端口号,worker3的分别是8006 8081 9009
  

  开启了tomcat服务器之后,开启apache服务器(注意,顺序很重要!一定要先开tomcat
  http://192.168.88.130/TestProject/showInfo.do出现如下图 则代表成功
This message is from Server, RealPath:
/usr/local/worker2/webapps/TestProject/
Current Session Id:
DC185E2CA3CAEB64BE50CEE2DC7CBC5E.worker2  再次刷新 应该会变成worker3
  停掉其中一台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-637765-1-1.html 上篇帖子: 多学一点(五)——在Linux下安装配置Apache 下篇帖子: 在apache中增加SSL模块
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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