- 浏览: 851588 次
文章分类
- 全部博客 (365)
- java (124)
- spring mvc (21)
- spring (22)
- struts2 (6)
- jquery (27)
- javascript (24)
- mybatis/ibatis (8)
- hibernate (7)
- compass (11)
- lucene (26)
- flex (0)
- actionscript (0)
- webservice (8)
- rabbitMQ/Socket (15)
- jsp/freemaker (5)
- 数据库 (27)
- 应用服务器 (21)
- Hadoop (1)
- PowerDesigner (3)
- EJB (0)
- JPA (0)
- PHP (2)
- C# (0)
- .NET (0)
- html (2)
- xml (5)
- android (7)
- flume (1)
- zookeeper (0)
- 证书加密 (2)
- maven (1)
- redis (2)
- cas (11)
最新评论
-
zuxianghuang:
通过pom上传报错 Artifact upload faile ...
nexus上传了jar包.通过maven引用当前jar,不能取得jar的依赖 -
流年末年:
百度网盘的挂了吧???
SSO单点登录系列3:cas-server端配置认证方式实践(数据源+自定义java类认证) -
953434367:
UfgovDBUtil 是什么类
Java发HTTP POST请求(内容为xml格式) -
smilease:
帮大忙了,非常感谢
freemaker自动生成源代码 -
syd505:
十分感谢作者无私的分享,仔细阅读后很多地方得以解惑。
Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解
apache以前配置apache和tomcat可能需要用到mod_jk.so进行apache和tomcat的链接。apache2.2中集成了mod_jk.so的功能,只需简单的把上面6个module的注释打开。
1、apache 配置
修改Apache配置文件\Apache2.2\conf\httpd.conf
a.将以下6个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_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
再找到<IfModule dir_module></IfModule>加上index.jsp
<IfModule dir_module> DirectoryIndex index.html index.jsp </IfModule>
在文件的最下面加入
- ProxyRequests Off
- <proxy balancer://cluster>
- BalancerMember ajp://127.0.0.1:9001 loadfactor=1 route=jvm1
- BalancerMember ajp://127.0.0.1:9002 loadfactor=1 route=jvm2
- BalancerMember ajp://127.0.0.1:9003 loadfactor=1 route=jvm3
- BalancerMember ajp://127.0.0.1:9004 loadfactor=1 route=jvm4
- <proxy>
ProxyRequests Off <proxy balancer://cluster> BalancerMember ajp://127.0.0.1:9001 loadfactor=1 route=jvm1 BalancerMember ajp://127.0.0.1:9002 loadfactor=1 route=jvm2 BalancerMember ajp://127.0.0.1:9003 loadfactor=1 route=jvm3 BalancerMember ajp://127.0.0.1:9004 loadfactor=1 route=jvm4 <proxy>
设置apache2.2虚拟主机
a.先在conf\httpd.conf中引入配置虚拟主机的控制文件,将配置文件中默认注释掉的配置信息放开就可以了:
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
b.修改conf/extra/httpd-vhosts.conf文件,在最下面加入虚拟主机的配置信息
- <VirtualHost *:80>
- ServerAdmin callan@126.com
- ServerName localhost(域名)
- ServerAlias localhost(别名)
- ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On
- ProxyPassReverse / balancer://cluster/
- </VirtualHost>
<VirtualHost *:80> ServerAdmin callan@126.com ServerName localhost(域名) ServerAlias localhost(别名) ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On ProxyPassReverse / balancer://cluster/ </VirtualHost>
c.也可以直接在httpd.conf后面加入这段xml
若是在同一台机器上同时运行多个tomcat,则需要修改tomcat 的启动端口和关闭端口。
启动端口修改:将每个tomcat的server.xml文件作如下修改
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
改为
<Connector port="xxxx" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="xxxx" />
<Connector port="xxxx" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />
如果需要用到tomcat的共享线程池,其端口值也设置为xxxx,保持一致(线程池缺省是被注释掉的):
<Connector executor="tomcatThreadPool"port="xxxx" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />
b.设置tomcat的关闭端口:
将<Server port="8005" shutdown="SHUTDOWN">修改为
<Server port="xxxx" shutdown="SHUTDOWN">每个tomcat的端口xxxx不同就行。
tomcat 默认的engine配置为:
<Engine name="Catalina" defaultHost="localhost">
为了通过AJP来支持负载均衡,需要配置engine的jvmRoute属性。将server.xml的默认engine配置注释掉,按给出的 jvmRoute示例做如下配置:
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm3">
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm4">
这里是apache和tomcat链接的关键,前台apache就是通过AJP协议与tomcat进行通信的,以完成负载均衡的作用。
改成与
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
- <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="6">
- <Manager className="org.apache.catalina.ha.session.BackupManager"
- expireSessionsOnShutdown="false"
- notifyListenersOnReplication="true"
- mapSendOptions="6"/>
- <!--
- <Manager className="org.apache.catalina.ha.session.DeltaManager"
- expireSessionsOnShutdown="false"
- notifyListenersOnReplication="true"/>
- -->
- <Channel className="org.apache.catalina.tribes.group.GroupChannel">
- <Membership className="org.apache.catalina.tribes.membership.McastService"
- address="228.0.0.4"
- port="<SPAN style="COLOR: #ff0000">45562</SPAN>"
- frequency="500"
- dropTime="3000"/>
- <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
- address="auto"
- port="<SPAN style="COLOR: #ff0000">5002</SPAN>"
- selectorTimeout="100"
- maxThreads="6"/>
- <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
- <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
- </Sender>
- <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
- <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
- <Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/>
- </Channel>
- <Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
- filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
- <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
- </Cluster>
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="6"> <Manager className="org.apache.catalina.ha.session.BackupManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true" mapSendOptions="6"/> <!-- <Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true"/> --> <Channel className="org.apache.catalina.tribes.group.GroupChannel"> <Membership className="org.apache.catalina.tribes.membership.McastService" address="228.0.0.4" port="45562" frequency="500" dropTime="3000"/> <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" address="auto" port="5002" selectorTimeout="100" maxThreads="6"/> <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"> <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/> </Sender> <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/> <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/> <Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/> </Channel> <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/> <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/> </Cluster>
- <VirtualHost *:80>
- ServerAdmin callan@126.com
- ServerName localhost(域名)
- ProxyPass / balancer://cluster/ lbmethod=byrequests stickysession=JSESSIONID nofailover=Off timeout=5 maxattempts=3
- ProxyPassReverse / balancer://cluster/
- ErrorLog "logs/lbtest-error.log"
- CustomLog "logs/lbtest-access.log" common
- <proxy balancer://cluster>
- BalancerMember ajp://127.0.0.1:9001 route=jvm1
- BalancerMember ajp://127.0.0.1:9002 route=jvm2
- BalancerMember ajp://127.0.0.1:9003 route=jvm3
- </proxy>
- </VirtualHost>
发表评论
-
TOMCAT 下2个工程 防止SESSION 改变
2015-11-27 09:15 845<Context docBase="YYY_ ... -
Tomcat实现多域名之间session共享
2015-10-15 09:28 2830最近启用二级域名后,面临一个主域名与二级域名之间 se ... -
nginx实现反向代理
2015-07-02 14:10 788最近开始研究Nginx ... -
nginx状态监控
2015-04-30 15:09 503通过查看Nginx的并发连接,我们可以更 ... -
Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解
2015-04-01 16:31 7705原创作品,允许转载,转载时请务必以超链 ... -
Nginx Location配置总结
2015-03-26 10:44 831语法规则: location [=|~|~*|^~ ... -
Nginx区分PC或手机访问不同网站
2015-03-26 10:42 3970近几年来,随着手机和pad的普及,越来越多的用户选择使用移动 ... -
Nginx配置文件nginx.conf中文详解(转)
2015-03-25 11:48 610PS:这篇是目前最完整 ... -
Linux Nginx负载均衡【精】
2015-03-25 11:47 1194最近迷上了Nginx,真实麻雀虽小,五脏俱全..功能实在强大 ... -
二、CentOS Linux 下配制Nginx实现简单的负载均衡配置
2015-03-25 11:47 510#user nobody; worker_processe ... -
一、CenOS Linux安装nginx
2015-03-25 11:45 491一、安装nginx ... -
apache 请求转发+去掉WWW和301重定向
2015-01-07 13:18 1219Options +FollowSymLinks Rewr ... -
tomcat 禁止 IP访问
2015-01-07 13:15 735<Engine name="Catali ... -
服务器证书安装配置指南(Tomcat 6)
2014-09-22 19:51 504服务器证书安装配置指南(Tomcat 6) 一、 生 ... -
调整VMware网络设置解决虚拟机丢包问题
2014-02-24 11:10 7344即使是设计良 ... -
JMeter 使用入门
2012-10-20 13:53 765最近在公司想做下压 ... -
dbcp的基本配置
2012-10-18 15:41 10321. 引入dbcp (选择1.4)Java代码 <dep ... -
jmeter最简单使用
2012-10-17 15:16 1359jmeter是apache jakarta项目下的测试工具,见 ... -
开源性能测试工具 - Apache ab 介绍
2012-10-17 14:39 852Posted on 2006-07-18 22:55 Jack ... -
Apache+Tomcat集群配置
2012-08-28 21:44 959本文Apache+Tomcat集群配置 基于最新的Apa ...
相关推荐
Apache2.2与Tomcat6集群配置教程 在IT行业中,服务器集群是一种常见的技术,用于提高系统的可用性和可扩展性。本教程将详细介绍如何在Apache2.2与Tomcat6环境下搭建集群,以实现负载均衡和高可用性。Apache作为前端...
在Apache2.2+Tomcat集群中,可以实现会话复制,确保用户在集群中的任何一台服务器上都能继续其之前的会话。Tomcat的集群功能依赖于org.apache.catalina.ha.session.JvmRouteBinderValve,它添加了JVM路由信息到...
安装完成后,在系统服务列表中可以查看到名为“Apache2.2”的服务。 - **Linux下安装**: - **解压文件**: 在 `/home/tools/` 目录下解压 `httpd-2.2.22.tar.gz`。 - **配置安装文件**: - 进入解压后的目录 `httpd...
Apache 2.2 和 Tomcat 6.0 集群与负载均衡是构建高可用性和高并发Web应用的关键技术。在大型系统中,通过设置集群可以分散服务器压力,提高服务稳定性;而负载均衡则能确保请求均匀分配到各个节点,避免单一节点过载...
8. 检验Apache+Tomcat集群是否生效:配置完成后,需要验证Apache服务器是否能够正确地将请求转发到Tomcat集群,并由集群中的服务器进行处理。 9. Windows 2008 R2 NLB集群创建:安装并配置好NLB后,需要在Windows ...
配置Apache2.2与Tomcat7集群的过程包括安装和配置mod_jk,修改Apache和Tomcat的配置文件,以及测试集群功能。通过这种方式,我们可以构建一个可伸缩、可靠的Web服务架构,以应对高流量和复杂业务场景。 总结来说,...
Apache2.2+Tomcat集群 只是一个简单的集群例子,所用到的Apache,Tomcat压缩文件里都有
Apache2.2与Tomcat6集群配置是一种常见的Web服务架构,用于提高网站的可用性和可扩展性。在Windows环境下,这种配置可以实现负载均衡,确保即使单个服务器出现故障,整个系统仍然能继续运行,同时分散请求以降低单一...
下载 mod_jk 模块安装包,例如 tomcat-connectors-1.2.39-windows-i386-httpd-2.2.x.zip,然后解压到 Apache 服务器的安装目录下的 modules 目录下,例如 E:\Apache2.2\modules。 四、配置 Apache 服务器 配置 ...
Windows下整合Apache2.2和Tomcat6.0 集群与负载均衡,本人亲测可用,已经使用到企业应用开发中,长期以来未出现任何问题,内容详尽,即使小白也是一看即懂、
apache2.2+tomcat6集群已经配置好,tomcat优化过,在实际项目发布中直接将项目复制到集群中的所有tomcat的webapps中即可, 此配置中包含是3个tomcat集群, 安装步骤大概如下: 1:安装httpd-2.2.17-win32-x86-no_ssl...
通过以上步骤,我们就成功地搭建了一个基于Apache 2.2.4和Tomcat 7.0.70的集群,实现了负载均衡。这只是一个基础配置,实际应用中可能需要考虑更多的因素,如健康检查、会话持久化、故障转移策略等。随着业务增长,...
在Windows环境下,Apache2.2和Tomcat6的组合是一个常见的Web服务器架构,用于搭建集群、实现负载均衡和处理session共享。Apache作为前端反向代理服务器,负责分发请求到后端的多个Tomcat实例,以提高应用的可用性和...
在Linux环境下,将Apache2.2与Tomcat6进行整合是一项常见的任务,这通常涉及到创建一个Web服务器集群,以便能够处理动态和静态内容。Apache作为前端服务器,主要负责静态资源的处理,而Tomcat作为后端应用服务器,...
自己做了一遍tomcat的集群,顺便把apache、tomcat的配置写了一份文档出来,希望可以帮到大家。压缩包里有Apache2.2和完整的文档手册了。Tomcat自己随便找一个就行。 我是用64位操作系统。
Apache2.2可以作为反向代理服务器,隐藏后端的Tomcat集群,接收来自客户端的请求并转发给合适的Tomcat实例。Apache的mod_proxy模块提供了反向代理功能,我们需要启用和配置这个模块。 三、配置步骤 1. 安装与配置...
在本文中,我们将深入探讨如何在Linux环境下部署一个基于Tomcat 6和Apache 2.2的集群。首先,我们需要准备相应的软件包,包括JDK、Apache HTTP服务器、Tomcat以及JK模块,这些是构建集群的基础组件。 1. **JDK安装*...