`

APACHE(proxy_ajp_stickysession) + TOMCAT实现高可用网站或管理系统集群

 
阅读更多

 

 

1.基础环境安装设置

 

操作系统环境,APACHE安装,TOMCAT集群安装,TOMCAT测试工程请参见:

http://zp820705.iteye.com/blog/1347417

 

2.TOMCAT配置

Tomcat集群配置后端Tomcat Server为支持AJP的独立服务,前端Apache配置为粘性会话(sticky-session),Tomcat不配置Cluster配置和Session复制。

 

配置Tomcat1的server.xml

修改:

 

    <Engine name="Catalina" defaultHost="localhost">

为:

 

<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
 

 

配置Tomcat2的server.xml

修改:

    <Engine name="Catalina" defaultHost="localhost">

为:

 

<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2">

注意:

后端tomcat服务配置文件server.xml中指定的端口后用于接收Apache的代理转发请求,在后续apache配置中使用,本例中tomcat1和tomcat2都使用相同的配置:8009

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

 

3.APACHE配置

apache的配置方式还是采用vhost方式配置,主配置文件(conf/httpd.conf)引用(include)vhost子配置文件(conf/extra/httpd-vhosts.conf)方式.

 

Apache的编译请参考:http://zp820705.iteye.com/blog/1347749

apache编译为支持Proxy后的module情况:

 

 

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
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule ssl_module modules/mod_ssl.so
LoadModule speling_module modules/mod_speling.so
LoadModule rewrite_module modules/mod_rewrite.so
 

 

删除主配置文件conf/httpd.conf文件中引用vhost的配置行的注释。

 

 

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

 

 

Apache虚拟主机配置(httpd-vhost.conf)

 

 

<VirtualHost *:80>
    ErrorLog "logs/acooly.org-error_log"
    LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon
    CustomLog logs/access_log vcommon

    ProxyRequests Off
    ProxyPreserveHost on
    # apache+tomcat cluster
    ProxyPass / balancer://tomcat-cluster/ stickysession=JSESSIONID|jsessionid nofailover=Off
    ProxyPassReverse / balancer://tomcat-cluster/
    <Proxy balancer://tomcat-cluster/>
      BalancerMember ajp://10.10.10.11:8009 loadfactor=1 route=tomcat1
      BalancerMember ajp://10.10.10.12:8009 loadfactor=1 route=tomcat2
      ProxySet lbmethod=bybusyness
    </Proxy>
</VirtualHost>
 

stickysession=JSESSIONID|jsessionid

apache采用粘性会话配置,后端服务器是tomcat,指定sessionId参数为JSESSIONID和jsessionid,其中JSESSIONID是浏览器支持cookie方式session处理,jsessionid是客户端采用URL参数方式session处理。

 

nofailover=Off

表示apache-proxy支持failover,模式是支持的,可以不配置。

 

route=tomcat1route=tomcat2

表示后端tomcat服务处理标志,与具体后端tomcat服务中的server.xml配置文件中的Engine节点配置的jvmRoute属性相同。

 

 

4.测试

 

浏览器访问测试

http://10.10.10.11/cluster/index.jsp

 

stickysession测试

访问http://10.10.10.11/cluster/index.jsp,反复刷新,应该是同一后端服务器支持服务。

使用restlet工具restclient(http://code.google.com/p/rest-client/)访问http://10.10.10.11/cluster/index.jsp,查看返回报文:

sessionId为:

Set-Cookie JSESSIONID=B7EACFABF5543D0E5C19155CCDC82D02.tomcat1; Path=/cluster

红色tomcat1表示指定由后端tomcat1服务。

 

 

 

 

  • 大小: 24.9 KB
分享到:
评论

相关推荐

    apache +tomcat集群 ajp_proxy实际操作

    Apache与Tomcat结合使用时,通过AJP Proxy不仅可以实现高效的请求转发,还能够构建出高可用、高性能的应用集群。上述配置步骤涵盖了从Apache安装、配置到AJP Proxy与Tomcat集群的具体实施细节,为企业级项目提供了...

    apache+tomcat集群配置文件和文档

    3. **集群配置**:Apache+Tomcat集群的核心配置主要涉及Apache的 mod_proxy 和 mod_proxy_ajp 模块。mod_proxy用于反向代理,将请求转发给后端服务器;mod_proxy_ajp则是与Tomcat通信的AJP(Apache JServ Protocol)...

    如何搭建apache+tomcat集群

    【标题】:“如何搭建apache+tomcat集群” 在IT行业中,服务器集群是一种常见的技术实践,用于提高应用的可用性和性能。Apache HTTP Server和Tomcat是两种广泛应用的软件,前者是强大的HTTP服务器,后者是Java ...

    apache+tomcat配置集群文档及安装资源包

    3. **配置Tomcat集群**:在Tomcat的server.xml文件中,为每个实例设置一个唯一的`clusterId`,并启用`mod_jk`或`mod_proxy_ajp`模块进行AJP通信。配置示例: ``` &lt;Cluster className="org.apache.catalina.ha....

    实现apache+tomcat集群和负载均衡的比较

    在部署Apache+Tomcat集群时,还需考虑session复制或共享以保证会话一致性,以及监控和管理工具的使用,如Nagios、Zabbix等,以确保集群的稳定运行。同时,为了提高安全性,建议使用SSL/TLS进行加密传输,通过配置...

    Apache+Tomcat整合

    Apache 和 Tomcat 整合是将 Apache 作为前端服务器,负责处理静态内容和反向代理,而 Tomcat 作为后端应用服务器,处理 ...通过这种方式,我们可以实现一台主机上的单站点集群和负载均衡,从而提升网站的可用性和性能。

    apache+tomcat+memcache

    通过这种方式,你可以构建一个高可用、高性能的Web应用环境,有效缓解数据库压力并提高用户体验。请注意,这仅是基础配置,实际生产环境中可能需要进一步优化,如增加更多的Tomcat实例,调整负载均衡策略,以及进行...

    Windows下Apache2.2+Tomcat6配置集群、负载均衡、session共享

    在Windows环境下,Apache2.2和Tomcat6的组合是一个常见的Web服务器架构,用于搭建集群、实现负载均衡和处理session共享。Apache作为前端反向代理服务器,负责分发请求到后端的多个Tomcat实例,以提高应用的可用性和...

    APACHE 2.2.9+TOMCAT6.0.18配置负载均衡

    2. **设置 Session 超时时间**:为整个系统设定 Session 的超时时间,确保无论是 Apache 还是 Tomcat 都能够一致地管理 Session。 3. **屏蔽文件列表**:为了安全考虑,对系统中不需要公开的文件进行屏蔽处理,确保...

    apache和tomcat集群配置

    Apache和Tomcat集群配置是一项关键任务,特别是在高可用性和负载均衡的系统架构中。这个配置允许你通过Apache作为前端服务器,将请求分发到多个后端的Tomcat服务器上,从而提高系统的处理能力和稳定性。 首先,我们...

    Apache2.2+tomcat6.0搭建负载均衡服务器

    Apache2.2与Tomcat6.0的组合可以构建一个高效、可靠的负载均衡服务器系统,以分散客户端请求到多个后端应用服务器,提高整体服务的可用性和响应速度。以下是搭建和配置的关键步骤及知识点: 1. **Apache2.2安装配置...

    tomcat .apache2.0集群配置资料

    它可以通过模块(如mod_proxy、mod_jk或mod_proxy_ajp)与后端的Tomcat实例进行通信。这样可以利用Apache的静态资源处理能力,减轻Tomcat的压力,同时实现动态内容的高效处理。 **3. 集群配置步骤** - **安装和配置...

    Linux+tomcat6+apache2.4集群部署

    本教程将详细介绍如何在Linux系统上部署一个基于Tomcat6和Apache2.4的集群环境。这个集群部署旨在提高应用程序的性能和稳定性,通过分散请求到多个服务器节点来防止单一故障点。 首先,我们要理解Linux作为操作系统...

    tomcat集群配置v2

    Tomcat集群配置是一项复杂但至关重要的任务,它不仅能够提高系统的可扩展性和可用性,还能优化资源利用,确保服务的连续性和响应速度。通过Apache和Tomcat的协同工作,可以构建出稳定且高性能的Web应用环境。在实际...

    apache tomcat 集群

    Apache Tomcat 集群是实现高可用性和负载均衡的一种方法,它通过将多个Tomcat实例组合在一起,确保在任何单个实例失败时,服务仍然能够持续运行。Apache HTTP Server (通常称为Apache) 与Tomcat的集成,特别是通过...

Global site tag (gtag.js) - Google Analytics