tomcat结合nginx或apache实现负载均衡_tomcat

 

基于Nginx为web代理服务器配置

 

前端Nginx配置:

yum -y install nginx-1.4.7-1.el6.ngx.x86_64.rpm
vim /etc/nginx/nginx.conf   添加一下内容
upstream tomcat {    定义一个名为tomcat的upstream
server 172.16.254.151:80;
server 172.16.254.144:8080;
}

编辑/etc/nginx/conf.d/default.conf配置文件

tomcat结合nginx或apache实现负载均衡_tomcat_02

启动nginx服务,并在客户端验证

tomcat结合nginx或apache实现负载均衡_tomcat_03

tomcat结合nginx或apache实现负载均衡_tomcat_04

 

 

基于http的mod_proxy模块提供web前端服务器代理

 

全端web代理服务器默认安装了httpd-2.2.15-29.el6.centos.x86_64

要使用mod_proxy与Tomcat实例连接,需要apache已经装载mod_proxy、mod_proxy_http、mod_proxy_ajp和proxy_balancer_module(实现Tomcat集群时用到)等模块

tomcat结合nginx或apache实现负载均衡_tomcat_05

在/etc/http/conf.d/目录下创建以 .conf结尾的文件:

tomcat结合nginx或apache实现负载均衡_tomcat_06

客户端验证即可,得出结果与nginx代理一样

 

基于http的mod_jk模块提供web前端服务器代理

mod_jk是ASF的一个项目,是一个工作于apache端基于AJP协议与Tomcat通信的连接器,它是apache的一个模块,是AJP协议的客户端(服务端是Tomcat的AJP连接器

如果httpd为rpm安装的话,需要确保已经了安装httpd-devel包

tomcat结合nginx或apache实现负载均衡_tomcat_07

找到apxs程序路径

tomcat结合nginx或apache实现负载均衡_tomcat_08

安装tomcat-connectors

[root@localhost ~]# tar xf tomcat-connectors-1.2.37-src.tar.gz
[root@localhost ~]# cd tomcat-connectors-1.2.37-src/native/
[root@localhost ~]# ./configure --with-apxs=/usr/sbin/apxs
[root@localhost ~]# make && make install

apache要使用mod_jk连接器,需要在启动时加载此连接器模块。为了便于管理与mod_jk模块相关的配置,这里使用一个专门的配置文件/etc/httpd/conf.d/mod_jk.conf来保存相关指令及其设置。其内容如下:

LoadModule  jk_module  modules/mod_jk.so
JkWorkersFile  /etc/httpd/conf.d/workers.properties
JkLogFile  logs/mod_jk.log
JkLogLevel  notice
JkMount  /*  lbA
JkMount  /status/  statA
~

编辑/etc/httpd/conf.d/workers.properties,添加如下内容:

worker.list=lbA,statA
worker.TomcatA.port=8009
worker.TomcatA.host=172.16.254.151
worker.TomcatA.type=ajp13
worker.TomcatA.lbfactor=1
worker.statA.type = status
worker.TomcatB.port=8009
worker.TomcatB.host=172.16.254.144
worker.TomcatB.type=ajp13
worker.TomcatB.lbfactor=1
worker.lbA.type=lb
worker.lbA.sticky_session=0
worker.lbA.balance_workers=TomcatA,TomcatB

启动httpd测试结果即可