亚洲城手机游戏这些是通过Apache与Tomcat之间的通讯来完成的,最后决定用Apache+Tomcat配置负载均衡来解决

这些是通过Apache与Tomcat之间的通讯来完成的,最后决定用Apache+Tomcat配置负载均衡来解决

Apache +Tomcat负载均衡配置,tomcat负载均衡

Apache
+Tomcat负载均衡能保证较高的可用性和系统性能,这些是通过Apache与Tomcat之间的通讯来完成的。Apache和Tomcat之间的通讯基本有三种方式:Mod_Jk、HTTP_Proxy、AJP_Proxy其中以Mod_Jk最为流行,并且官方的文档也非常全。

Mod_JK是Apache的一个模块,其通过AJP协议实现与Tomcat之间的通讯,Tomcat通过设置Connector监听AJP的连接请求。

 

注意:如果希望apache与tomcat通信使用 HTTP 协议则需要使用
HTTP_Proxy,请看最后。

 

安装Mod_JK:

tar zxvf tomcat-connectors-1.2.40-src.tar.gz

cd tomcat-connectors-1.2.40-src/

cd native/

./configure –with-apxs=/home/soft/httpd-2.4.10/bin/apxs
–prefix=/home/soft/tomcat-connectors-1.2.40
make 

make install
可选

make clean

make distclean

注:安装结果貌似不会装到/tomcat-connectors-1.2.40,但会往本地apache httpd
写入文件,比如添加了:modules/mod_jk.so

 

负载均衡配置步骤:
1.在apache安装目录下conf目录中找到httpd.conf,在最后加上配置 Include
conf/mod_jk.conf
2.将mod_jk.so文件放入Apache\modules文件夹
3.新建mod_jk.conf文件并配置
4.新建workers.properties和uriworkermap.properties文件并配置
5.修改各个tomcat配置文件server.xml,主要对应端口和设置engine的jvmRoute属性

 

mod_jk.conf 内容:
# 加载 mod_jk 模块
LoadModule jk_module modules/mod_jk.so
# workers.properties 位置
JkWorkersFile conf/mine_jk/workers.properties
#加载workers的请求处理分配文件
JkMountFile conf/mine_jk/uriworkermap.properties
# 日志存放位置
JkLogFile logs/mine_mod_jk.log
# 设置日志级别 [debug/error/info]
JkLogLevel info
# Select the timestamp log format
JkLogStampFormat “[%a %b %d %H:%M:%S %Y] ”

workers.properties 内容:
# 定义worker,此处的list名称必须和mod_jk.conf文件中的 dispatcher
名称一致  
worker.list=dispatcher,status
# Define Node1  
worker.tomcat1.port=8019  
worker.tomcat1.host=localhost  
worker.tomcat1.type=ajp13  
worker.tomcat1.lbfactor=1  
#worker.tomcat1.connection_pool_size=10  
#worker.tomcat1.connection_pool_timeout=600  
#worker.tomcat1.socket_connect_timeout=300  
# Define Node2  
worker.tomcat2.port=8029  
worker.tomcat2.host=localhost  
worker.tomcat2.type=ajp13  
worker.tomcat2.lbfactor=1  
#worker.tomcat2.connection_pool_size=10  
#worker.tomcat2.connection_pool_timeout=600  
#worker.tomcat2.socket_connect_timeout=300  

# Load-balancing behaviour  
worker.dispatcher.type=lb  
worker.dispatcher.balance_workers=tomcat1, tomcat2
#sticky_session session亲和的设置
worker.dispatcher.sticky_session=0
worker.dispatcher.sticky_session_force=1
#loadbalancer
worker.status.type=status

uriworkermap.properties 内容:
#指定请求交给tomcat处理,”dispatcher”为在workers.propertise里指定的负载分配控制器
/*.jsp=dispatcher
/jkstatus=status
!/*.gif=dispatcher
!/*.jpg=dispatcher
!/*.png=dispatcher
!/*.css=dispatcher
!/*.js=dispatcher
!/*.htm=dispatcher
!/*.html=dispatcher

 

Tomcat设置:

准备两个tomcat,将它们的router分别设成tomcat1和tomcat2,配置它们的connector为ajp,端口分别为8019和8029。

配置完成后,启动apache和tomcat,访问
可以查看集群状态(前提是配置了status类型的worker)

 

有可以看看其他人写的,很详细:

 

注意:如果希望apache与tomcat通信使用 HTTP 协议则需要使用 HTTP_Proxy:

http_proxy

这是利用 Apache 自带的 mod_proxy 模块使用代理技术来连接
Tomcat。在配置之前请确保是否使用的是 2.2.x 版本的 Apache 服务器。因为
2.2.x 版本对这个模块进行了重写,大大的增强了其功能和稳定性。

http_proxy 模式是基于 HTTP 协议的代理,因此它要求 Tomcat 必须提供 HTTP
服务,也就是说必须启用 Tomcat 的 HTTP Connector。

我用的linux源码编译的apache,mod_proxy.so和mod_proxy_http.so已经自带了,其他版本的apache应该也有,如果没有就单独安装
库 文件

############## http_proxy 方式需要的mod_proxy.so
##############
LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
############## http_proxy 方式需要的mod_proxy_http.so
##############
LoadModule proxy_http_module modules/mod_proxy_http.so
上面的内容在 apache配置文件 httpd.conf 中,放开其中的注释就可以使用
库了,

还需要在httpd.conf文件的最后加上:

############## http_proxy 方式
##############
#http_proxy方式需要加载 mod_proxy.so 和 mod_proxy_http.so,将上面的
两行对应的 LoadModule  放开注释
ProxyPass /images !
ProxyPass /css !
ProxyPass /js !
ProxyPass /

在这个配置中,我们把所有 的请求代理到
,这也就是 Tomcat 的访问地址,除了
images、css、js 几个目录除外。我们同样可以利用 mod_proxy
来做负载均衡,再看看下面这个配置

ProxyPass /images !

ProxyPass /css !

ProxyPass /js !

 

ProxyPass / balancer://example/

<Proxy balancer://example/>

BalancerMember

BalancerMember

BalancerMember

</Proxy>

启动apache和tomcat就可以测试了。

查看评论

+Tomcat负载均衡配置,tomcat负载均衡 Apache
Tomcat负载均衡能保证较高的可用性和系统性能,这些是通过Apache与Tomcat之间的通讯来完成的。…

由于集团开始实施个人任务管理模块,内部业务支撑平台的使用人数直线上升,每个月的月初在线人数达到顶峰,原有的一个Tomcat已经胜任不了,俺决定通过负载均衡来解决。

之前没搞过负载均衡,于是乎,在各大搜索网站搜索文档无数。从原理着手,先理解一下原理,有助于接下来的实施,然后再找找有哪些技术和方案,最后决定用Apache+Tomcat配置负载均衡来解决

接下来就开始在虚拟机上搞实验,俺的是笔记本,开两个虚拟机,卡得我想吐。喝了半怀咖啡,鼠标才给我动两下,伤不起呀。果断关掉一个虚拟机,决定在一个虚拟机内开两个Tomcat来测试:

1、首先需要下载相关的文件:

      Apache:   httpd-2.2.17-win32-x86-no_ssl.msi

      Tomcat:   apache-tomcat-6.0.35-windows-x86.zip

      模块     : tomcat-connectors-1.2.37-windows-i386-httpd-2.2.x.zip

      JDK      :  jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe

 

2、安装JDK文件,配置JDK环境

3、安装Apache服务器,按照网上查的资料,需要配置以下文件

    修改http.conf,在文件最后加上下面一句话就可以了:include “安装目录\Apache Software
Foundation\Apache2.2\conf\mod_jk.conf”

    复制mod_jk.so到安装目录\Apache
Software Foundation\Apache2.2\modules

    http.conf同目录下新建mod_jk.conf文件,内容如下:

    LoadModule jk_module
modules/mod_jk.so
 
    JkWorkersFile
conf/workers.properties
 
   
#指定那些请求交给tomcat处理,”controller”为在workers.propertise里指定的负载分配控制器名
    JkMount /*.jsp
controller

    在http.conf同目录下新建
workers.properties文件,内容如下   

     #server

      worker.list = controller

     #========tomcat1========

     worker.tomcat1.port=11009

     worker.tomcat1.host=localhost

     worker.tomcat1.type=ajp13

     worker.tomcat1.lbfactor = 1

    #========tomcat2========