一步一步搭建apache+tomcat 负载均衡集群

环境准备

2台虚拟机,centos6.6

apache + tomcat1  10.0.0.141

tomcat2                  10.0.0.140

apache的安装参照之前的文章

http://jwh5566.blog.51cto.com/7394620/1656742

安装jdk和tomcat 两台虚拟机都要做

#下载最新的jdk
cd /usr/local/src
wget 
tar zxvf  jdk-7u79-linux-x64.tar.gz
mv mv jdk1.7.0_79/ /usr/local/java

#输出环境变量
vim /etc/profile.d/java.sh
JAVA_HOME=/usr/local/java
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH

#使环境变量生效
source /etc/profile.d/java.sh

#下载最新的tomcat
cd /usr/local/src
wget 
tar zxvf  apache-tomcat-7.0.63.tar.gz
mv apache-tomcat-7.0.63 /usr/local/tomcat7

#输出环境变量
vim /etc/profile.d/tomcat.sh
CATALINA_HOME=/usr/local/tomcat7
PATH=$CATALINA_HOME/bin:$PATH
export CATALINA_HOME PATH

#使环境变量生效
source /etc/profile.d/tomcat.sh

#测试java和tomcat
[[email protected] ~]# java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
[[email protected] ~]# catalina.sh version
Using CATALINA_BASE:   /usr/local/tomcat7
Using CATALINA_HOME:   /usr/local/tomcat7
Using CATALINA_TMPDIR: /usr/local/tomcat7/temp
Using JRE_HOME:        /usr/local/java
Using CLASSPATH:       /usr/local/tomcat7/bin/bootstrap.jar:/usr/local/tomcat7/bin/tomcat-juli.jar
Server version: Apache Tomcat/7.0.63
Server built:   Jun 30 2015 08:08:33 UTC
Server number:  7.0.63.0
OS Name:        Linux
OS Version:     2.6.32-358.el6.x86_64
Architecture:   amd64
JVM Version:    1.7.0_79-b15
JVM Vendor:     Oracle Corporation

修改tomcat1的server.xml

vim /usr/local/tomcat7/conf/server.xml
#在下面这一行添加jvmRoute="tomcat1"  标示后端的tomcat实例
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
#在默认主机上添加一个test应用
<Host name="localhost"  appBase="webapps"
    unpackWARs="true" autoDeploy="true">
<Context path="" docBase="test" debug="0"/>

#在tomcat7的应用目录下添加test目录和WEB-INF
cd /usr/local/tomcat7/webapps
mkdir test
cp -r ROOT/WEB-INF test
#新建测试的jsp文件
cd test
vim index.jsp
<%@ page language="java" %>
<html>
 <head><title>TomcatA</title></head>
 <body>
  <h1><font color="red">TomcatA </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>

#tomcat2的配置基本同tomcat1,只需改动jvmRoute="tomcat2"
#启动2个tomcat
startup.sh

安装jk

cd /usr/local/src
wget http://apache.fayea.com/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.40-src.tar.gz
tar -zxvf tomcat-connectors-1.2.40-src.tar.gz
cd tomcat-connectors-1.2.40-src/native/
./configure --with-apxs=/usr/local/apache/bin/apxs  --with-java-home=/usr/local/java
make
make install

配置mod_jk模块

vim conf/httpd.conf 添加一下内容
LoadModule jk_module  modules/mod_jk.so

<IfModule jk_module>
  JkWorkersFile conf/workers.properties
  JkMount   /* controller
  JkMount   /jkstatus jkstatus
  JkLogFile     logs/mod_jk.log
  JkLogLevel    info
</IfModule>
<Location /jkstatus>
  Options MultiViews
  AuthType Basic
  AuthName "Auther Center"
  AuthUserFile conf/.htpasswd
  require valid-user granted
</Location>

在conf目录下vim workers.properties加入如下内容

1 worker.list=controller,jkstatus
#========tomcat1========  
worker.tomcat1.port=8009        
#指定tomcat1服务器AJP的端口,默认为8009
worker.tomcat1.host=10.0.0.141  
#指定tomcat1服务器IP或域名  
worker.tomcat1.type=ajp13       
#指定tomcat1与apache AJP通讯协议  
worker.tomcat1.lbfactor=1      
#指定负载平衡因数,只有启用了负载平衡才有用.  
#========tomcat2========  
worker.tomcat2.port=8009  
worker.tomcat2.host=10.0.0.140  
worker.tomcat2.type=ajp13  
worker.tomcat2.lbfactor=1  

#========controller负载平衡控制器========  
worker.controller.type=lb              
#指定controller类型  
worker.controller.balance_workers=tomcat1,tomcat2 
#指定负载平衡的tomcat  
worker.controller.sticky_session=0
#worker.controller.sticky_session_force=0
#指定是否粘性session

最后重新启动httpd,刷新即可负载,持久会话的话,只需将上述

worker.controller.sticky_session=1

添加jkstatus访问用户

bin/htpasswd -c ../conf/.htpasswd admin

访问jkstatus

时间: 2024-10-09 23:13:33

一步一步搭建apache+tomcat 负载均衡集群的相关文章

Redhat/CentOS7-环境虚拟机简单搭建Nginx+Tomcat负载均衡集群

Tomcat服务器是一个免费的开放源代码的web应用服务器,属于轻量级应用服务器,是开发和调试JSP程序的首选.由于Tomcat处理静态HTML的能力运不及Apache或者Nginx,所以Tomcat通常是作为一个Servlet和JSP容器,单独运行在后端. Nginx服务器能支持高达50000个并发连接数的响应,拥有强大的静态资源处理能力,运行稳定,并且内存.CPU等系统资源消耗非常低. 通常情况下,一个Tomcat站点由于可能出现单点故障及无法应付过多客户复杂请求等问题,不能单独应用于生产环

搭建Nginx+Tomcat 负载均衡集群

实验拓扑: 实验要求: 客户访问192.168.10.10,第一次或者第一个请求将请求交给10.101,第二次或者第二个请求交给10.102.实现两台服务器负载,多台的搭建方法相同. 试验环境: 主机 操作系统 所需软件 Nginx服务器 rhel 6.5 x86_64 nginx-1.6.0.tar.gz Tomcat服务器1 CentOS 6.5   x86_64 apache-tomcat-7.0.54.tar.gz  jdk-7u65-linux-x64.gz Tomcat服务器2 Ce

Apache+Tomcat负载均衡集群搭建

1.所需软件 apache_2.2.4-win32-x86-no_ssl,apache服务器 mod_jk-apache-2.2.4连接器,连接apache和tomcat apache-tomcat-6.0.33tomcat服务器 2.软件安装 2.1apache 安装 一直下一步,到此界面: 填写域名或localhost都可: 安装完成后,启动访问localhost,界面如下则安装成功: 2.2tomcat安装 省略,网上资料大把大把. 3.集群配置 3.1apache与mod_jk.so整合

使用Apache通过JK实现多Tomcat负载均衡集群时,Apache不能将请求分发给Tomcat处理(即Apache反向代理不成功)的问题

前些天在做Apache通过JK实现多Tomcat负载均衡集群时,参考网上的配置将配置文件配置好后,访问已存在tomcat中的JSP文件时发现Apache提示URL不存在,然后检查了配置文件及tomcat工程部署,发现配置部署均无问题.尝试访问Apache静态页面,通过http单独访问tomcat均无问题.然后我猜会不会之前参考的网上的配置有问题,于是继续查询网上其它配置发现都差不多,尝试更改各种参数均没有解决.后来我仔细想了想出现这个问题的原因应该是Apache没有将HTTP请求分发给Tomca

使用Nginx1.9.9+Keepalived1.2.x搭建高可用负载均衡集群

一 简介以及原理介绍 (1)Nginx概念介绍: Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.由俄罗斯的程序设计师Igor Sysoev所开发.其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度.京东.新浪.网易.腾讯.淘宝等 (2)Keepalived概念介绍: Keepalived的作用是检测服务器的状态,如果有一台we

Nginx+Keepalived搭建高可用负载均衡集群

Nginx+Keepalived搭建高可用负载均衡集群   一. 环境说明 前端双Nginx+keepalived,nginx反向代理到后端的tomcat集群实现负载均衡,Keepalived实现集群高可用. 操作系统: Centos 6.6_X64 Nginx版本: nginx-1.9.5 Keepalived版本:keepalived-1.2.13 结构: Keepalived+nginx-MASTER:10.6.1.210         Keepalived+nginx-BACKUP:

搭建高性能Jboss负载均衡集群

负载均衡集群是由两台或者两台以上的服务器组成.分为前端负载调度和后端服务两个部分.负载调度部分负载把客户端的请求按照不同的策略分配给后端服务节点,而后端节点是真正提供营养程序服务的部分.与双机热备不同的是,负载均衡集群中,所有的后端节点都处于活动动态,它们都对外提供服务,分摊系统的工作负载. 负载均衡集群可以把一个高负荷的应用分散到多个节点共同完成,适用于业务繁忙.大负荷访问的应用系统.负载均衡集群的一大优点除了将大负荷进行分摊解决性能问题之外,他还有极强的出错互补机制,每一个提供服务的节点在出

部署tomcat负载均衡集群,实现节点之间内存中的Session共享。

在实验之前先来了解下tomcat会话管理器(Manager) Manger对象用于实现HTTP会话管理的功能,介绍下几种常见的: 1.StandardManager(标准会话管理器) 用于非集群环境中对单个处于运行状态的Tomcat实例会话进行管理.当Tomcat关闭时,这些会话相关的数据会被写入磁盘上的一个名叫SESSION.ser的文件,并在Tomcat下次启动时读取此文件.如果tomcat正常关闭会话不会丢失,如果是tomcat主机崩溃或者进程崩溃那会话是一定会丢失的. 2.Persist

RHEL6 搭建LVS/DR 负载均衡集群 案例

搭建LVS/DR 负载均衡集群 案例 实验拓扑图: 操作流程: Director Server :        192.168.4.50 pc50 安装并启用ipvsadm 配置辅助IP地址 创建虚拟服务器,向虚拟服务器中加入节点 Real Server:        192.168.4.51 pc51        192.168.4.52 pc52 配置WEB 服务器 配置辅助IP地址,调整内核参数 Clinet :192.168.4.253 pc253 连接虚拟服务器测试 环境准备: