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

一、软件准备

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)模块。

  1. LoadModule proxy_module modules/mod_proxy.so
  2. LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
  3. LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
  4. LoadModule proxy_connect_module modules/mod_proxy_connect.so
  5. LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
  6. LoadModule proxy_http_module modules/mod_proxy_http.so

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

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

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

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

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

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

ProxyRequests Off 是告诉Apache需要使用反向代理(利用Apache进行负载均衡必须使用反向代理,关于更多负载均衡和反向代理详情可以参阅笔者另一篇博客http://zyycaesar.javaeye.com/admin/blogs/293839), 用于配置工作在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尚未配置和启动。

共2页: 1 [2] 下一页

转载于:https://blog.51cto.com/linuxjun/546861

Apache + Tomcat集群配置详解(1)相关推荐

  1. JBOSS4.0.2 HTTP集群配置详解

    原文出处:http://blog.chinaunix.net/u2/65250/showart_725581.html 一.JBOSS集群介绍 Jboss 支持如下类型的cluster:EJB.HTT ...

  2. nginx反向代理模块配置详解_Nginx(三):反向代理负载均衡集群配置详解

    概述: 本篇主要总结Nginx实现反向代理和负载均衡功能相关模块的配置说明.主要使用到的模块如下:ngx_http_proxy_moduleNginx实现反向代理功能 ngx_http_upstrea ...

  3. window xp Apache与Tomcat集群配置--转载

    转载地址:http://www.cnblogs.com/obullxl/archive/2011/06/09/apache-tomcat-cluster-config.html 一. 环境说明 Win ...

  4. 基于Kubernetes构建Docker集群管理详解

    from: 基于Kubernetes构建Docker集群管理详解 Kubernetes是Google开源的容器集群管理系统,基于Docker构建一个容器的调度服务,提供资源调度.均衡容灾.服务注册.动 ...

  5. Linux的企业-Codis 3集群搭建详解

    Codis 3集群搭建详解 Codis 3介绍 对于Redis集群方案有好多种,基本常用的就是twemproxy,codis.redis cluster这三种解决方案,本人有幸工作中都大量使用过,各有 ...

  6. redis集群模式详解

    redis集群模式详解 一,redis集群 1,哨兵集群 2,redis Cluster 二,redis Cluster集群的搭建 1,配置文件 2,redis服务启动 三,springboot连接r ...

  7. apache+tomcat集群环境搭建

    apache+tomcat集群环境搭建 1. 什么是集群         简单理解就是:将项目同时部署在多台服务器上(tomcat)运行,通过一个web服务器(Apache/nginx)进行请求分发和 ...

  8. Nginx以及通过Nginx实现tomcat集群配置与负载均衡

    Nginx简介 启动,停止,和重新加载配置文件命令 Nginx功能 正向代理和反向代理的区别 反向代理 负载均衡 1.RR(默认) 2.权重 3.ip_hash 4.fair(第三方) 5.url_h ...

  9. Application Request Route实现IIS Server Farms集群负载详解

    Application Request Route实现IIS Server Farms集群负载详解 原文:Application Request Route实现IIS Server Farms集群负载 ...

最新文章

  1. VTK与Qt整合的示例
  2. ApplicationContext对象的获取方式
  3. css怎样将图片设置成正方形,而且随着浏览器窗口大小的改变而自适应缩放
  4. 纪事:最后的足球比赛
  5. 通过jQuery.support看javascript中的兼容性问题
  6. JavaScript学习笔记(四)
  7. 黑马程序员-JavaSE核心知识-01Java介绍
  8. oracle vm 4.3.12,Oracle VM VirtualBox 4.3.12_ZZZZ这个程序肿么卸载啊,卸载不了
  9. 这16个数据可视化案例,惊艳了全球数据行业
  10. PHP判断是手机端访问还是PC端访问网站
  11. r语言 svycoxph_R语言之cox回归分析
  12. 上海地铁二号线和一号线的差距
  13. AR互动大屏项目实战
  14. 跑步节奏音乐匹配Android项目开发和调试经验
  15. 硬件知识:独立显卡和集成显卡的区别
  16. Android BroadcastReceiver详解
  17. 页面访问量和网站访问量的统计
  18. 微信7.0fiddler、Charles抓包报HTTPS证书信任问题通报
  19. [深度应用]·实战掌握PyTorch图片分类简明教程
  20. 西门子KTP/TP 系列触摸屏以太网通讯方法

热门文章

  1. STM32(六)-------中断(外部中断)
  2. java获取运行时对象,java 面向对象(四十一):反射(五)反射应用二:获取运行时类的完整结构...
  3. 服务器上tomcat运行php文件路径,如何在同一服务器环境上运行PHP和Tomcat?
  4. elastic安装,简单配置
  5. matlab 三维绘制
  6. 数据库连接串你知道多少
  7. 【拓扑排序】排队-C++
  8. MySQL错误ERROR 1366 (HY000): Incorrect string value..
  9. Java类的执行顺序
  10. sqlMetal用法和例子