Tomcat+Apache配置集群详解(1)

转载 2011年01月18日 15:10:00

一、软件准备

 

Apache 2.2 : http://httpd.apache.org/download.cgi,下载msi安装程序,选择no ssl版本

 

Tomcat 6.0 : http://tomcat.apache.org/download-60.cgi,下载Tomcat 6.0.18 zip文件

 

注意:由于Apache和Tomcat项目与集群相关的模块均处于持续发展和优化过程中,因此笔者不保证本文配置方法对所有Apache和Tomcat版本均适用。

 

二、软件安装

 

     把Apache安装为运行在80端口的Windows服务,安装成功后在系统服务列表中可以看到Apache2.2服务。对于已安装IIS的机器,在启动Apache服务之前必须首先停止IIS Admin服务,不然会因为端口冲突而无法启动。服务启动后在浏览器中输入http://localhost进行测试,如果能看到一个"It works!"的页面就代表Apache已经正常工作了。

 

     解压tomcat zip文件到两个文件夹,分别为t1和t2,以下均以t1和t2代表两个tomcat服务器。配置JAVA_HOME和CLASSPATH系统环境变量,分别启动t1和t2,确保tomcat可用,然后关闭tomcat。

 

     本文仅为讲解配置过程,Apache和tomcat均工作在同一台机器上。实际部署时没有任何限制,Apache和单个tomcat可以分别部署在不同的服务器上。

 

三、Apache配置

    

     Apache 2.2集成了mod_jk功能,相对于1.3版本,不需要再进行繁琐的worker.properties配置,配置过程大幅简化。

 

     首先,在Apache安装目录下找到conf/httpd.conf文件,以文本编辑器打开。

 

     去掉以下文本前的注释符(#)以便让Apache在启动时自动加载代理(proxy)模块。

 

     LoadModule proxy_module modules/mod_proxy.so
     LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
     LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
     LoadModule proxy_connect_module modules/mod_proxy_connect.so
     LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
     LoadModule proxy_http_module modules/mod_proxy_http.so

 

     向下拉动文档找到<IfModule dir_module>节点,在DirectoryIndex index.html后加上index.jsp,这一步只是为了待会配置完tomcat后能看到小猫首页,可以不做。

 

     继续下拉文档找到Include conf/extra/httpd-vhosts.conf,去掉前面的注释符。

 

     用文本编辑器打开conf/extra/httpd-vhosts.conf,配置虚拟站点,在最下面加上

 

     <VirtualHost *:80> 
         ServerAdmin 管理员邮箱
         ServerName 域名(没有可用IP地址代替)
         ServerAlias localhost 
         ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On 
         ProxyPassReverse / balancer://cluster/ 
         ErrorLog "logs/lbtest-error.log"
         CustomLog "logs/lbtest-access.log" common
     </VirtualHost>

 

     这里balancer://是告诉Apache需要进行负载均衡的代理,后面的cluster是集群名,可以随意取,两个日志引擎ErrorLog负责记录错误,CustomLog负责记录所有的http访问以及返回状态,日志名可以自己取,笔者取为lbtest。httpd-vhosts.conf配置完毕,回到httpd.conf,在文档最下面加上

 

     ProxyRequests Off 
     <proxy balancer://cluster> 
          BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm1
          BalancerMember ajp://127.0.0.1:9009 loadfactor=1 route=jvm2
     </proxy>

 

     ProxyRequests Off 是告诉Apache需要使用反向代理(利用Apache进行负载均衡必须使用反向代理,关于更多负载均衡和反向代理详情可以参阅笔者另一篇博客http://zyycaesar.javaeye.com/admin/blogs/293839),<proxy balancer://cluster>用于配置工作在tomcat集群中的所有节点,这里的"cluster"必须与上面的集群名保持一致。Apache通过ajp协议与tomcat进行通信,ip地址和端口唯一确定了tomcat节点和配置的ajp接受端口。loadfactor是负载因子,Apache会按负载因子的比例向后端tomcat节点转发请求,负载因子越大,对应的tomcat服务器就会处理越多的请求,如两个tomcat都是1,Apache就按1:1的比例转发,如果是2和1就按2:1的比例转发。route参数对应后续tomcat配置中的引擎路径(jvmRoute)。

 

    重启Apache服务,如果此时访问http://localhost/将会返回503错误,打开刚才配置的错误日志logs/lbtest-error.log,可以看到错误原因是因为后台服务器没有响应,因为此时tomcat尚未配置和启动。

 

Tomcat+Apache配置集群详解(2)

四、Tomcat配置    如果仅仅为了配置一个可用的集群,Tomcat的配置将会非常简单。分别打开t1和t2的server.xml配置文件,对于t1,尽量采用默认的设置,而对t2作较大改动以避免与t...
  • skiof007
  • skiof007
  • 2011年01月18日 15:06
  • 375

tomcat+apache集群

环境说明:          系统:windows xp          服务器:apache_2.2、mod_jk_2.2(插件和apache版本一致)          集群服务器:apa...
  • tzl090940126
  • tzl090940126
  • 2014年07月26日 11:00
  • 239

Tomcat+Apache配置

Tomcat+Apache配置(原创)环境:Windows2000 ServerApache2.0.47Tomcat5.0.18mod_jk2.0.43jdk1.4.2说明:dqdodweb是web应...
  • robinlet
  • robinlet
  • 2005年06月11日 12:17
  • 841

tomcat+apache入门做集群

源于网络  一、集群和负载均衡的概念  (一)集群的概念    集群(Cluster)是由两台或多台节点机(服务器)构成的一种松散耦合的计算节点集合,为用户提供网络服务或应用程序(包...
  • hudan2714
  • hudan2714
  • 2012年08月15日 15:04
  • 732

tomcat+apache负载均衡集群

http://tomcat.apache.org/connectors-doc/reference/workers.html http://www.blogjava.net/zolly/artic...
  • wodestudy
  • wodestudy
  • 2014年01月13日 21:01
  • 502

1、查看所有apache进程的命令 2、apache+tomcat中apache和tomcat的作用分别是什么?

1 ps aux |grep apache或者top 2 第二个问题设计内容太多 我直接在网上给你找一篇文章吧 很详细了 解析一 apache支持静态页,tomcat支持动态的,比如servlet...
  • xiaomin881122
  • xiaomin881122
  • 2014年02月10日 09:33
  • 418

Apache+tomcat实现高可用WEB集群----简介

概述 本文是企业高可用架构之一:APACHE+TOMCAT实现高可用WEB集群。   Apache+tomcat是J2EE领域最常见和低成本的高可用集群实现方式,同时也是应用最广泛的WEB-HA...
  • simon_xu_sh
  • simon_xu_sh
  • 2015年02月16日 17:39
  • 1269

tomcat+apache

apache+tomcat+jk整合(多tomcat最新版本)2009-01-08 17:09by gdyw1999 2009/02/19E-MALI:gdyw1999@163.com blog: h...
  • goodboylllll
  • goodboylllll
  • 2009年09月08日 18:20
  • 563

Nginx 实战(一) 集群环境搭建 Nginx配置文件详细说明

Nginx是什么? Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。一直纳闷这个X是怎么来的在网上查了查原来X...
  • zhousenshan
  • zhousenshan
  • 2015年11月16日 17:24
  • 1501

crtmpserver的部署方案

方案一: 编译并安装 即将源代码,打包->复制到新的机器 -> 解压包,并编译安装 这样的方式肯定不好,会导致源代码到处都是,也不好做版本更新; 方案二: 动态库复制与粘贴 1. 将c...
  • fireroll
  • fireroll
  • 2014年03月05日 14:49
  • 1683
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Tomcat+Apache配置集群详解(1)
举报原因:
原因补充:

(最多只允许输入30个字)