Blog / 阅读

负载均衡(CentOS 6.5 '64bit' + Apache2.2 + mod_jk + tomcat6)

by admin on 2014-03-23 10:37:30 in ,



一. 负载均衡:根据 uri 表达式把请求分发给各个服务器处理。如:/*.jsp = lb_s  就是说把所有jsp请求交给lb_s , 当然它是个Tomcat。

二. 首先要感谢:开源中国 博主:时间在追我 到 博文 apache tomcat mod_jk负载均衡,挺详细;接下来主要将在(CentOS 6.5 + Apache2.2 + jk + tomcat6)环境下怎么搭建,因   为CentOS 6.5 自带的Apache(CentOS里软件名叫httpd)跟以往到到本版路径不一样,有些人会有点迷惑,找不到路径;

三. 安装配置mod_jk
[java] view plaincopy
wget http://mirror.bit.edu.cn/apache//tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.37-src.tar.gz  
tar zxf tomcat-connectors-1.2.37-src.tar.gz  
cd tomcat-connectors-1.2.37-src/native/  
./configure --with-apxs=/usr/sbin/apxs //如果找不到路径;请yum install httpd-devel  
 make && make install   

把 native/apache-2.0中到mod_jk.so 拷贝到  /usr/lib64/httpd/modules ;没错Apache的库改了;64位软件到库都是放在/usr/Lib64的;如果是6.3版本,或者不是用yum安装的apache,则是/usr/local/apache2/modules.

修改httpd.conf

[java] view plaincopy
vi /etc/httpd/conf/httpd.conf  
在最后加入  
#Mod_Jk configure  
Include conf/mod_jk.conf  

在apache  conf目录下新建mod_jk.conf文件

[java] view plaincopy
touch /etc/httpd/conf/mod_jk.conf  

内容:
[java] view plaincopy
#加载moldules下mod_jk.so文件  
loadModule jk_module modules/mod_jk.so  
#加载集群中的工作的tomcat配置文件  
JkWorkersFile conf/workers.properties  
#共享内存的配置和运行时信息文件名  
JkShmFile logs/mod_jk.shm  
#加载请求处理分配文件  
JkMountFile conf/uriworkermap.properties  
#指定jk的日志输出文件  
JkLogFile     logs/mod_jk.log  
#日志输出文件的级别  
JkLogLevel    error  


然后接着在创建tomcat负载配置属性文件
[java] view plaincopy
touch /etc/httpd/conf/workers.properties  
[java] view plaincopy
#  
#workers.properties  
#配置格式为worker.<worker name>.<directive>=<value>  
#  
# worker列表  
worker.list=lb_s,status  
  
# 第一个tomcat  
# ------------------------  
#port 为配置tomcat ajp监控端口,不是http的端口  
worker.s1.port=8009  
#tomcat的主机地址,如不为本机,请填写ip地址  
worker.s1.host=localhost  
worker.s1.type=ajp13  
#负载的权重值,越高表示负载越大  
worker.s1.lbfactor=1  
  
# 第二个tomcat  
# ------------------------  
worker.s2.port=9009  
worker.s2.host=localhost  
worker.s2.type=ajp13  
worker.s2.lbfactor=1  
  
# 第N个tomcat  
# ------------------------  
#worker.sN.port=10009  
#worker.sN.host=localhost  
#worker.sN.type=ajp13  
#worker.sN.lbfactor=1  
  
#用于负载均衡分发的控制器,名称为lb_s  
worker.lb_s.type=lb  
#失败时重试转发次数  
worker.lb_s.retries=3  
#加入负载均衡的tomcat worker,上面定义如要加载在这里  
worker.lb_s.balanced_workers=s1,s2  
#配置session会话是否为粘性  
#这样负载均衡器lb就会尽量保持一个session,也就是使用户在一次会话中跟同一个Tomcat进行交互  
#不建议配置为1(or true)  
#worker.lb_s.sticky_session=false   
#worker.lb_s.sticky_session_force=true  
#设置运行状态的控制器  
worker.status.type=status  


配置请求映射文件
[java] view plaincopy
touch /etc/httpd/conf/uriworkermap.properties  


[java] view plaincopy
#这个后面配置的value要在worker.properties文件里面存在对应的worker  
#所有请求都交给lb_s这个worker处理  
/*=lb_s  
#所有包含status请求的都由名称叫status的这个worker处理  
/status=status  
#感叹号表示接下来的 URI 不要由 JK 进行处理  
#静态文件都不通过jk处理,直接由apache处理  
!/*.gif=lb_s  
!/*.jpg=lb_s  
!/*.png=lb_s  
!/*.css=lb_s  
!/*.js=lb_s  

还有一些tomcat server.xml 的配置,在engine上加上jvmRoute=tomcat1 ;注意匹配apj端口等;就可以成功了。

四.结语 
配置方面看一遍httpd.conf 基本上都懂的;

不同版本到路径对比

CentOS 6.5
/usr/local/apache2/bin/apxs /usr/sbin/apxs
/usr/local/apache2/modules /usr/lib64/httpd/modules

规律就是之前apache的从属文件都是在apache2文件中到,6.5 就是分散在各个系统规范到目录结构了。其实我也不知道的,我是用“whereis / apxs ” 查出来到,(*^__^*) 嘻嘻……,基础还是有用的。

还有不要看那些不符合自己环境的教程,难受。。。

《完》


写评论

相关文章

上一篇:sg-uap的安装

下一篇:单路CPU性能排名

评论

写评论

* 必填.

分享

栏目

赞助商


热门文章

Tag 云