qwe3223678qwe 发表于 2018-11-22 13:01:57

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


  基于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配置文件

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


  基于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集群时用到)等模块

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

  客户端验证即可,得出结果与nginx代理一样
  基于http的mod_jk模块提供web前端服务器代理
  mod_jk是ASF的一个项目,是一个工作于apache端基于AJP协议与Tomcat通信的连接器,它是apache的一个模块,是AJP协议的客户端(服务端是Tomcat的AJP连接器
  如果httpd为rpm安装的话,需要确保已经了安装httpd-devel包

  找到apxs程序路径

  安装tomcat-connectors
# tar xf tomcat-connectors-1.2.37-src.tar.gz
# cd tomcat-connectors-1.2.37-src/native/
# ./configure --with-apxs=/usr/sbin/apxs
# make && make install  apache要使用mod_jk连接器,需要在启动时加载此连接器模块。为了便于管理与mod_jk模块相关的配置,这里使用一个专门的配置文件/etc/httpd/conf.d/mod_jk.conf来保存相关指令及其设置。其内容如下:
LoadModulejk_modulemodules/mod_jk.so
JkWorkersFile/etc/httpd/conf.d/workers.properties
JkLogFilelogs/mod_jk.log
JkLogLevelnotice
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测试结果即可



页: [1]
查看完整版本: tomcat结合nginx或apache实现负载均衡