LAMT基于mod_jk负载均衡配置详解

配置基于mod_jk的负载均衡
mod_jk文章
1、 为了避免用户直接访问后端Tomcat实例,影响负载均衡的效果,建议在Tomcat 7的各实例上禁用HTTP/1.1连接器。
2、为每一个Tomcat 7实例的引擎添加jvmRoute参数,并通过其为当前引擎设置全局惟一标识符。如下所示。需要注意的是,每一个实例的jvmRoute的值均不能相同。
<Engine name=”Standalone” defaultHost=”localhost” jvmRoute=” TomcatA ”>

而后去配置apache,修改/etc/httpd/extra/httpd-jk.conf为如下内容:
LoadModule jk_module modules/mod_jk.so
JkWorkersFile /etc/httpd/extra/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel debug
JkMount /* lbcluster1
JkMount /jkstatus/ stat1

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

worker.list = lbcluster1,stat1
worker.TomcatA.type = ajp13
worker.TomcatA.host = 172.16.100.1
worker.TomcatA.port = 8009
worker.TomcatA.lbfactor = 5
worker.TomcatB.type = ajp13
worker.TomcatB.host = 172.16.100.2
worker.TomcatB.port = 8009
worker.TomcatB.lbfactor = 5
worker.lbcluster1.type = lb
worker.lbcluster1.sticky_session = 1
worker.lbcluster1.balance_workers = TomcatA, TomcatB
worker.stat1.type = status
范例:
10.0.0.53/54是tomcat机器,10.0.0.91是httpd负载
安装jdk

[root@NFS-WEB2 local]# rpm -ivh jdk-7u9-linux-x64.rpm
Preparing...                ########################################### [100%]
   1:jdk                    ########################################### [100%]
安装apa-tomat

[root@NFS-WEB2 local]# tar xf apache-tomcat-7.0.67.tar.gz -C /usr/local/
[root@NFS-WEB2 local]# ln -sv apache-tomcat-7.0.67 tomcat
`tomcat' -> `apache-tomcat-7.0.67'

[root@NFS-WEB2 bin]# cat /etc/profile.d/tomcat.sh
export CATALINA_HOME=/usr/local/tomcat
export PATH=$CATALINA_HOME/bin:$PATH
[root@NFS-WEB2 bin]# cat /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/latest
export PATH=$JAVA_HOME/bin:$PATH
tomcat的init.d启动脚本

[root@NFS-WEB2 bin]# cat /etc/init.d/tomcat
#!/bin/sh
# Tomcat init script for Linux.
#
# chkconfig: 2345 96 14
# description: The Apache Tomcat servlet/JSP container.
JAVA_HOME=/usr/java/latest
CATALINA_HOME=/usr/local/tomcat
export JAVA_HOME CATALINA_HOME
case $1 in
start)
 exec $CATALINA_HOME/bin/catalina.sh start;;
stop)
exec $CATALINA_HOME/bin/catalina.sh stop;;
restart)
$CATALINA_HOME/bin/catalina.sh stop
sleep 2
exec $CATALINA_HOME/bin/catalina.sh start;;
*)
echo "Usage: `basename $0` {start|stop|restart}"
exit 1
;;
esac
[root@NFS-WEB2 bin]#

[root@NFS-WEB2 local]# chmod +x /etc/init.d/tomcat
[root@NFS-WEB2 local]# chkconfig --add tomcat
在两个节点分别提供两个不同的测试页面:
10.0.0.53

[root@NFS-WEB2 webapps]# cd /usr/local/tomcat/webapps
[root@NFS-WEB2 webapps]# mkdir testapp
[root@NFS-WEB2 webapps]# cd testapp/
[root@NFS-WEB2 testapp]# mkdir -p WEB-INF/{classes,lib}
[root@NFS-WEB2 webapps]# vim index.jsp
演示效果,在TomcatA上某context中(如/test),提供如下页面

<%@ page language="java" %>
<html>
  <head><title>TomcatA</title></head>
  <body>
    <h1><font color="red">TomcatA </font></h1>
    <table align="centre" border="1">
      <tr>
        <td>Session ID</td>
    <% session.setAttribute("abc","abc"); %>
        <td><%= session.getId() %></td>
      </tr>
      <tr>
        <td>Created on</td>
        <td><%= session.getCreationTime() %></td>
     </tr>
    </table>
  </body>
</html>
10.0.0.54

[root@NFS-WEB1 webapps]# cd /usr/local/tomcat/webapps
[root@NFS-WEB1 webapps]# mkdir testapp
[root@NFS-WEB1 webapps]# cd testapp/
[root@NFS-WEB1 testapp]# mkdir -p WEB-INF/{classes,lib}
[root@NFS-WEB1 webapps]# vim index.jsp
演示效果,在TomcatB上某context中(如/test),提供如下页面
<%@ page language="java" %>
<html>
  <head><title>TomcatA</title></head>
  <body>
    <h1><font color="blue">TomcatA </font></h1>
    <table align="centre" border="1">
      <tr>
        <td>Session ID</td>
    <% session.setAttribute("abc","abc"); %>
        <td><%= session.getId() %></td>
      </tr>
      <tr>
        <td>Created on</td>
        <td><%= session.getCreationTime() %></td>
     </tr>
    </table>
  </body>
</html>
mod_jk 10.0.0.91

[root@nginx-proxy2 modules]# cat /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  /*  lbcA
JkMount  /jkstatus/  statA
[root@nginx-proxy2 modules]# cat /etc/httpd/conf.d/workers.properties
worker.list=lbcA,statA
worker.TomcatA.port=8009
worker.TomcatA.host=10.0.0.53
worker.TomcatA.type=ajp13
worker.TomcatA.lbfactor=1
worker.TomcatB.port=8009
worker.TomcatB.host=10.0.0.54
worker.TomcatB.type=ajp13
worker.TomcatB.lbfactor=1
worker.lbcA.type=lb
worker.lbcA.sticky_session=0  回话不保持
worker.lbcA.balance_workers = TomcatA,TomcatB
worker.statA.type = status

[root@nginx-proxy2 modules]# 


 

 

时间: 2024-10-24 15:08:15

LAMT基于mod_jk负载均衡配置详解的相关文章

centos系统Lvs负载均衡配置详解

实验用三台Vmware下虚拟的centos5.5服务器,一台作为负载调度器(Lvs-server),两台真实web服务器(web1,web2). 一.Lvs-nat实验: 配置IP: 1.window7下与虚拟机相连的网卡配置成8.8.8.1,不虚配置网关. 2.Lvs-server需要配置两块网卡,一块(eth0)模拟与外网连接(本实验下与Windows相连),一块(eth1)与内部真实服务器通信.eth0:8.8.8.8,eth1:192.168.10.1 3.web1:eth0:192.1

LAMT基于mod_proxy调度使用方法详解

使用单台nginx直接调度tomcat如下: http {     upstream tomcat_server {         server 10.0.0.20:8080;         server 10.0.0.30:8080;     #   server 10.0.0.100:8080 backup;     }     server {         location ~* \.(jsp|do)$ {             proxy_pass http://tomcat_

Windows 08 R2_NLB负载均衡(图文详解)

目录 目录 Load Balance 使用NLB来部署Web Farm集群 环境准备 在Win08r2pc1中配置DNS服务 在Win08r2pc1中部署File Service文件服务 在Win08r2pc1中部署IIS Web服务 在win08r2pc2上部署IIS Web服务 配置共享的站点文件夹 win08r2pc1中的web共享配置 win08r2pc2中的web共享配置 创建NLB集群 NLB的高级管理 编辑端口规则 Load Balance Load Balance:负载均衡提供了

Centos LVS Dr 负载均衡 配置说明详解

环境: LVS/Dr服务器:200.168.10.1 真实rip: 200.168.10.2 真实rip: 200.168.10.3 VIP : 200.168.10.10 LVS服务器配置: 关闭 iptables 和 selinux ,防止因为防火墙等原因照成失败 安装ipvsadm yum -y install ipvsadm* 执行脚本如下 #!/bin/bash #ipvs.sh # 把200.168.10.10 绑定到 eth0:0接口上 子网掩码是4个255 使得 200.168.

Nginx+Tomcat+Https 服务器负载均衡配置实践方案详解_nginx

由于需要,得搭建个nginx+tomcat+https的服务器,搜了搜网上的发现总是有错,现在整理了些有用的,备忘. 环境:Centos6.5.JDK1.8.Tomcat8.Nginx1.10.1 准备材料: 1.JDK1.8安装包jdk-8u102-linux-x64.tar.gz 2.Tomcat8安装包apache-tomcat-8.0.37.tar.gz 3.Nginx1.10安装包nginx-1.10.1.tar.gz 1.JDK安装配置 解压并安装到/usr/local/jdk [r

Oracle ARC负载均衡具体配置详解

本文详细介绍了Oracle负载均衡的具体配置.通过客户端和服务器端两方面进行配置,文中代码比 较全面,值得大家参考. 对于专业的数据处理存储的Oracle ARC而言,负载均衡的设置就更为重要了.那么如何对Oracle负 载均衡进行配置呢?就让我们一起看看本文来学习一下吧.我们将从客户端和服务器端来进行解说. Oracle负载均衡主要是指新会话连接到RAC数据库时,如何判定这个新的连接要连到哪个节点进行工 作,在Oracle负载均衡中分为两种,一种是基于客户端连接的,另外一种是基于服务器端的,

Nginx负载均衡配置实例详解

负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法.   测试环境 测试域名  :www.threegroup.space A服务器IP :123.56.255.173 (主) B服务器IP :101.200.159.138 C服务器IP :123.56.255.53   部署思路A服务器做为主服务器,域名直接解析到A服务器(123.56.255.173)上,由A服务器负载均衡到B服务器(101.200.159.138)与C服务器(123.56.2

基于 CentOS Mysql 安装与主从同步配置详解

CentOS Mysql 安装 Mysql (Master/Slave) 主从同步 1.为什么要使用主从同步 1.如果主服务器出现问题,可以快速切换到从服务器提供的服务 2.可以在从服务器上执行查询操作,降低主服务器的访问压力 3.可以在从服务器上执行备份,以避免备份期间影响主服务器的服务 注意:一般只有更新不频繁的数据或者对实时性要求不高的数据可以通过从服务器查询,实时性要求高的数据仍然需要从主服务器获得. Window 数据库主从(Master/Slave)同步安装与配置详解 2. Cent

Nginx配置文件(nginx.conf)配置详解(总结)_nginx

现在经常碰到有新用户问一些很基本的问题,最近整理了一下,Nginx的配置文件nginx.conf配置详解如下: user nginx nginx ; Nginx用户及组:用户 组.window下不指定 worker_processes 8; 工作进程:数目.根据硬件调整,通常等于CPU数量或者2倍于CPU. error_log logs/error.log; error_log logs/error.log notice; error_log logs/error.log info; 错误日志: