实验系统:CentOS 6.6_x86_64

实验前提:提前准备好编译环境,防火墙和selinux都关闭

实验说明:本实验共有2台主机,IP分配如拓扑

实验软件:jdk-8u60-linux-x64  apache-tomcat-8.0.24  tomcat-connectors-1.2.41  httpd-2.2.15  httpd-devel-2.2.15

实验拓扑:

    

一、两台机器安装JAVA环境

  1.安装JAVA:

wget http://download.oracle.com/otn-pub/java/jdk/8u60-b27/jdk-8u60-linux-x64.tar.gz
tar xf jdk-8u60-linux-x64.tar.gz -C /usr/local/
cd /usr/local/
ln -sv jdk1..0_60 jdk

  2.配置环境变量:

vim /etc/profile.d/jdk.sh
--------------------------------------------------->
JAVA_HOME=/usr/local/jdk
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH
<---------------------------------------------------
. /etc/profile.d/jdk.sh

二、两台机器安装tomcat

  1.安装tomcat:

wget http://mirrors.cnnic.cn/apache/tomcat/tomcat-8/v8.0.24/bin/apache-tomcat-8.0.24.tar.gz
tar xf apache-tomcat-8.0..tar.gz -C /usr/local/
cd /usr/local/
ln -sv apache-tomcat-8.0. tomcat

  2.配置环境变量:

vim /etc/profile.d/tomcat.sh
--------------------------------------------------->
CATALINA_BASE=/usr/local/tomcat
PATH=$CATALINA_BASE/bin:$PATH
export PATH CATALINA_BASE
<---------------------------------------------------
. /etc/profile.d/tomcat.sh

  3.查看tomcat及JAVA状态:

catalina.sh version

    

  4.提供启动脚本:

vim /etc/init.d/tomcat
-------------------------------------------------------->
#!/bin/sh
# Tomcat init script for Linux.
#
# chkconfig:
# description: The Apache Tomcat servlet/JSP container.
# JAVA_OPTS='-Xms64m -Xmx128m'
JAVA_HOME=/usr/local/jdk
CATALINA_HOME=/usr/local/tomcat
export JAVA_HOME CATALINA_HOME case $ 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
exec $CATALINA_HOME/bin/catalina.sh start ;;
*)
echo "Usage: `basename $0` {start|stop|restart}"
exit
;;
esac
<--------------------------------------------------------
chmod +x /etc/init.d/tomcat
chkconfig --add tomcat

  5.编辑tomcat配置文件,只添加jvmRoute参数:

    在19.66上:

vim /usr/local/tomcat/conf/server.xml
----------------------------------------------->
<Engine name="Catalina" defaultHost="localhost" jvmRoute="TomcatA"> //指明这是TomcatA主机

    在19.74上:

vim /usr/local/tomcat/conf/server.xml
----------------------------------------------->
<Engine name="Catalina" defaultHost="localhost" jvmRoute="TomcatB">

  6.提供测试页面:

    在19.66上:

mkdir -pv /usr/local/tomcat/webapps/test/WEB-INF/{classes,lib}
vim /usr/local/tomcat/webapps/test/index.jsp
------------------------------------------------------------------------>
<%@ page language="java" %>
<%@ page import="java.util.*" %>
<html>
<head>
<title>test</title>
</head>
<body>
<%
out.println("This is TomcatA");
%>
</body>
</html>
------------------------------------------------------------------------>
service tomcat start

    在19.74上:

mkdir -pv /usr/local/tomcat/webapps/test/WEB-INF/{classes,lib}
vim /usr/local/tomcat/webapps/test/index.jsp
------------------------------------------------------------------------>
<%@ page language="java" %>
<%@ page import="java.util.*" %>
<html>
<head>
<title>test</title>
</head>
<body>
<%
out.println("This is TomcatB");
%>
</body>
</html>
------------------------------------------------------------------------>
service tomcat start

三、利用mod_jk模块对tomcat进行负载均衡

  利用httpd反向代理tomcat时有两种方法,分别要用到mod_proxy和mod_jk这两个模块。mod_jk需要额外编译安装,而mod_proxy需要用到httpd的proxy_module、proxy_balancer_module、proxy_http_module、proxy_ajp_module模块,确保安装时这些模块都被安装了。从httpd2.2开始,这些模块默认就是安装的,所以这里我们直接用yum安装即可。

  下面先演示利用mod_jk模块对tomcat进行负载均衡。此模块只需要在一台机器上安装,我们这里在19.66上安装。

  1.安装httpd:

yum -y install httpd httpd-devel          //安装httpd-devel为了提供apxs

  2.安装mod_jk.so模块:

wget http://mirrors.cnnic.cn/apache/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.41-src.tar.gz
tar xf tomcat-connectors-1.2.-src.tar.gz
cd tomcat-connectors-1.2.-src/native/
./configure --with-apxs=/usr/sbin/apxs
make && make install

  3.提供额外的httpd模块配置文件:

vim /etc/httpd/conf.d/httpd-jk.conf
------------------------------------------------------>
# Load the mod_jk
LoadModule jk_module modules/mod_jk.so //加载mod_jk.so模块
JkWorkersFile /etc/httpd/conf.d/workers.properties //此模块自己要用到的配置文件
JkLogFile logs/mod_jk.log
JkLogLevel debug
JkMount /* lb1 //访问根下的所有内容都发到集群lb1中来
JkMount /status/ stat1

  4.配置mod_jk模块的配置文件workers.properties:

vim /etc/httpd/conf.d/workers.properties
-------------------------------------------------------->
worker.list = lb1,stat1
worker.TomcatA.type = ajp13 //httpd连接tomcat所用的模式
worker.TomcatA.host = 192.168.19.66
worker.TomcatA.port =
worker.TomcatA.lbfactor = //权重
worker.TomcatB.type = ajp13
worker.TomcatB.host = 192.168.19.74
worker.TomcatB.port =
worker.TomcatB.lbfactor =
worker.lb1.type = lb //调度方式
worker.lb1.sticky_session = //是否使用session绑定
worker.lb1.balance_workers = TomcatA, TomcatB
worker.stat1.type = status

  5.启动测试:

service httpd start

    用浏览器打开http://192.168.19.66/test,我们不断刷新,可以看到实验效果。

       

四、利用mod_proxy模块对tomcat进行负载均衡

  1.仍然在19.66上编辑即可,使用http协议:

cd /etc/httpd/conf.d/
mv httpd-jk.conf httpd-jk.conf.bak
vim httpd-proxy.conf
-------------------------------------------------------------->
<Proxy balancer://lb1>
BalancerMember http://192.168.19.66:8080 loadfactor=1 route=TomcatA
BalancerMember http://192.168.19.74:8080 loadfactor=1 route=TomcatB
ProxySet lbmethod=byrequests //基于权重将统计请求个数进行调度
</Proxy> ProxyPass / balancer://lb1/
ProxyPassReverse / balancer://lb1/
<--------------------------------------------------------------
service httpd restart

  2.使用ajp协议:

cd /etc/httpd/conf.d/
mv httpd-jk.conf httpd-jk.conf.bak
vim httpd-proxy.conf
-------------------------------------------------------------->
<Proxy balancer://lb1>
BalancerMember ajp://192.168.19.66:8009 loadfactor=1 route=TomcatA
BalancerMember ajp://192.168.19.74:8009 loadfactor=1 route=TomcatB
ProxySet lbmethod=byrequests
</Proxy> ProxyPass / balancer://lb1/
ProxyPassReverse / balancer://lb1/
<--------------------------------------------------------------
service httpd restart

  以上两种办法都可以实现负载均衡,刷新页面仍然可以看到效果,这里就不在给出图片了。至此,实验全部结束,谢谢!如有问题,请联系我,QQ:82800452.

利用httpd对tomcat进行负载均衡配置的更多相关文章

  1. Tomcat集群,Nginx集群,Tomcat+Nginx 负载均衡配置,Tomcat+Nginx集群

    Tomcat集群,Nginx集群,Tomcat+Nginx 负载均衡配置,Tomcat+Nginx集群 >>>>>>>>>>>> ...

  2. [tomcat] tomcat+nginx 负载均衡配置

    首先下载,安装tomcat. 修改tomcat端口,修改server.xml: 1.修改tomcat端口(默认8080) <Connector port="8383" pro ...

  3. Tomcat(五):nginx/httpd + tomcat及负载均衡tomcat

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  4. Linux 下配置 nginx + 两个 tomcat 的负载均衡

    前提:已经安装了 nginx 和两个 tomcat 1.修改 nginx.conf 配置文件    1)在 http{} 节点之间添加 upstream 配置 2)修改 nginx 的监听端口,默认是 ...

  5. Apache +Tomcat的负载均衡与集群配置

    实验拓扑图: 一.搭配环境 (1).Tomcat的安装和配置 Tomcat_a的ip:192.168.55.229 Tomcat_b的ip:192.168.55.231 Tomcat的需要安装jdk和 ...

  6. Nginx+tomcat实现负载均衡的配置

    Nginx+tomcat是目前主流的java web架构,如何让nginx+tomcat同时工作呢,也可以说如何使用nginx来反向代理tomcat后端均衡呢?直接安装配置如下: 1.JAVA JDK ...

  7. Tomcat服务部署与Nginx负载均衡配置

    一.中间键产品介绍 目前来说IBM的WebSphere,Oracle的Weblogic占据了市场上java语言Web站点的部分份额,该两种软件都是商业化的软件,由于性能优越,可靠性高等优点应用于大型互 ...

  8. Nginx + Tomcat Windows下的负载均衡配置

     Nginx + Tomcat Windows下的负载均衡配置 一.为什么需要对Tomcat服务器做负载均衡?    Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果超过50 ...

  9. Nginx+tomcat负载均衡配置

    Nginx+tomcat是目前主流的java web架构,如何让nginx+tomcat同时工作呢,也可以说如何使用nginx来反向代理tomcat后端均衡呢?直接安装配置如下: 1.JAVA JDK ...

随机推荐

  1. 淘宝购物车页面 PC端和移动端实战

    最近花了半个月的时间,做了一个淘宝购物车页面的Demo.当然,为了能够更加深入的学习,不仅仅有PC端的固定宽度的布局,还实现了移动端在Media Query为768px以下(也就是实现了ipad,ip ...

  2. 移动端click事件延迟300ms问题

    因为历史原因,移动端点击事件会有300ms延迟,来判断用户是连续双击缩放还是点击跳转.即如果300ms内连续点击两次,则会理解为对页面进行缩放操作(当然前提是移动端页面设置为可缩放的):在一次点击之后 ...

  3. 关于异步执行(Async/await)的理解(转发)

    原文地址: http://blog.jobbole.com/85787/ 同步编程与异步编程 通常情况下,我们写的C#代码就是同步的,运行在同一个线程中,从程序的第一行代码到最后一句代码顺序执行.而异 ...

  4. 10个调试Java的技巧

    调试不仅可以查找到应用程序缺陷所在,还可以解决缺陷.对于Java程序员来说,他们不仅要学会如何在Eclipse里面开发像样的程序,更需要学会如何调试程序.本文介绍了Java程序员必知的10个调试技巧, ...

  5. Ado.net[登录,增删改查,Get传值,全选,不选,批量删除,批量更新]

    [虽然说,开发的时候,我们可以使用各种框架,ado.net作为底层的东西,作为一个合格的程序员,在出问题的时候我们还是要知道如何调试] 一.增删改查 cmd.ExecuteReader();执行查询, ...

  6. 在Windows Server 2012 R2的Hyper-V中设置虚拟机启用增强会话模式

    在Windows Server 2012 R2的Hyper-V中,可以为虚拟机提供一种全新的连接方式,就是“增强会话模式”,它将让您更加方便的对虚拟机进行操作,比如分辨率的调整.设备的加载,最为方便的 ...

  7. 前端 angular 和 bootstrap 的安装步骤

    1.安装bower模块: npm install -g bower --registry=http://registry.npm.taobao.org 2.创建.bowerrc 文件存放 前端相关的模 ...

  8. KMP算法-next函数求解

    KMP函数求解:一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt同时发现,因此人们称它为KMP算法.KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串 ...

  9. 房地产行业的商业智能BusinessIntelligence介绍

    商业智能(BI)的需求            随着企业信息化程度的深入,企业内部对获取决策信息的效率.正确性.全面性和准确度的要求也越来越高.但是,伴之而来的却是繁多的报表和信息孤岛的出现,同时由于各 ...

  10. 6、ASP.NET MVC入门到精通——ASP.Net的两种开发方式

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 目前,ASP.NET中两种主流的开发方式是:ASP.NET Webform和ASP.NET MVC.从下图可以看到ASP.NET WebFo ...