- 浏览: 936752 次
- 性别:
- 来自: 重庆
文章分类
- 全部博客 (453)
- Windows phone 7 (0)
- Andriod (47)
- iPhone (1)
- Web (30)
- J2EE (34)
- stucts 2学习笔记 (34)
- 开发项目 (3)
- spring学习笔记 (24)
- EJB学习笔记 (6)
- Hibernate学习笔记 (15)
- JPA学习笔记 (8)
- Jsp (11)
- ajax (7)
- 异常收集模块 (1)
- jquery (2)
- phoneGap (2)
- jquery Mobile (0)
- java面试总结 (5)
- Object-C (0)
- javascript (6)
- Eclipse (5)
- 支付集成 (2)
- Weblogic (1)
- Dubbox (5)
- Redis (10)
- linux (21)
- Codis (2)
- React Native (0)
- Mysql (6)
- Docker (3)
- 自动化部署 (1)
- 项目Bug管理平台 (2)
- 负载均衡 (1)
- Mycat (2)
- Java基础知识 (16)
- 数据库 (7)
- Maven (17)
- Kafka (21)
- logs (2)
- 大并发 (2)
- 消息中间件 (2)
- 分布式锁 (3)
- 算法 (4)
- 数字证书原理,公钥私钥 (0)
- 数字证书原理 (1)
- 公钥私钥 (1)
- zookeeper (4)
- Hbase (9)
- Hadoop (2)
- storm (2)
- 通信协议 (1)
- Hive (3)
- git (1)
- JVM (2)
- 大数据相关算法 (1)
- idea (5)
- 将博客搬至CSDN (1)
- 设计模式 (2)
- 表达式 (1)
- 代码审查工具 (0)
- 开源项目 (1)
- PyCharm (0)
- python (6)
- Kubernetes (1)
- swagger (1)
- Maven中mirrors和repository的关系 (0)
- RabbitMQ (3)
- redisson (1)
- k8s (2)
- Mac (1)
最新评论
-
misisipi101:
假设库已经分为32个,那么要扩展到64个,怎样做呢
订单分库分表实践总结以及关键步骤 -
mfkxk298:
简单明了的例子,解决了问题,谢谢啦!
关于ListView中notifyDataSetChanged()刷新数据不更新原因 -
whbwang:
" target="_blank" ...
java web开发 高并发处理 -
suguoqian:
...
java web开发 高并发处理 -
xiangnanyujing:
Dubbox+Redis3.0+Spring+Hibernate+zookeeper实现消息推送核心搭建
最近公司需要配置集群 在网上找了很多的资料 都没有怎么个成功 配合网上的资料和一些博客总结如下:
1负载均衡的概念:就是apache将客户请求均衡的分给tomcat1,tomcat2....去处理
2 环境说明(Apache端口:80不需出来 Apache端口:8080 在 Apache安装bin目录下(dos下) 执行httpd -k install)
tomcat-6.0.18免安装版本(zip版)2个
apache_2.2.11-win32-x86-no_ssl.msi:
tomcat的负载均衡需要apache服务器的加入来实现。在进行配置之前请先卸载调已安装的tomcat,然后检查apache的版本。如果版本低于2.2负载均衡的配置要有所不同,因为这个2.2.11和2.2.8版本集成了jk2等负载均衡工具,所以配置要简单许多。别的版本我没有具体测试,有待考究。这两个软件可以到官方网站下载
把Apache安装为运行在80端口的Windows服务,安装成功后在系统服务列表中可以看到Apache2.2服务。服务启动后在浏览器中输入http://localhost进行测试,如果能看到一个"It works!"的页面就代表Apache已经正常工作了。把tomcat解压到任意目录,赋值一个另命名。起名和路径对配置没有影响。但要保证端口不要冲突,如果装有Oracle或IIS的用户需要修改或关闭相关接口的服务。当然jdk的配置也是必须的,这个不再过多叙述。
3 配置步骤
第一步,在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 lvp@tzx.com.cn
ServerName localhost
ServerAlias localhost
ProxyPass / balancer://sy/ stickysession=jsessionid nofailover=On
ProxyPassReverse / balancer://sy/
ErrorLog "logs/sy-error.log"
CustomLog "logs/sy-access.log" common
</VirtualHost>
第四步,然后回到httpd.conf,在文档最下面加上
ProxyRequests Off
<proxy balancer://sy>
BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm1
BalancerMember ajp://127.0.0.1:9009 loadfactor=1 route=jvm2
</proxy>
第五步,
分别打开两个tomcat的server.xml配置文件,其中一台可以采用默认的设置,只需要修改两个地方,而另一个要有较大改动以避免与前一台冲突。如果两台不在同一台服务器上运行,对于端口就不需做改动。首先是配置关闭端口,找到<Server port="8005" shutdown="SHUTDOWN">,第一台不变,把第二台改为9005。
第六步,
下面配置server.xml配置文件的Connector端口,找到non-SSL HTTP/1.1 Connector,即tomcat单独工作时的默认Connector,保留第一台默认配置,在8080端口侦听,而把第二台设置为在9080端口侦听。
第七步,
往下找到AJP 1.3 Connector,<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />,这是tomcat接收从Apache过来的ajp连接请求时使用的端口,保留第一台默认设置,把第二台端口改为9009。
第八步,
第一台tomcat的server.xml中找到<Engine name="Catalina" defaultHost="localhost">,去掉这段或改为注释,把上方紧挨的<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">注释符去掉,对于第二台,去掉注释符并把jvm1改为jvm2。
第九步,
第一种:(一般程序配置)
向下找到<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>,去掉注释,这里的配置是为了可以在集群中的所有tomcat节点间共享会话(Session)。如果仅仅为了获得一个可用的tomcat集群,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"/>
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Membership className="org.apache.catalina.tribes.membership.McastService"
address="228.0.0.4"
port="45564"
frequency="500"
dropTime="3000"/>
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="auto"
port="5000"
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;"/>
<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
tempDir="/tmp/war-temp/"
deployDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/>
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>
第十步,
配置成功后。在webapps目录下新建test目录,在test目录下新建test.jsp文件
在test目录下继续新建WEB-INF目录和web.xml,在<web-app>节点下加入<distributable />,这一步非常重要,是为了通知tomcat服务器,当前应用需要在集群中的所有节点间实现Session共享。如果tomcat中的所有应用都需要Session共享,也可以把conf/context.xml中的
<Context>改为<Context distributable="true">,这样就不需对所有应用的web.xml再进行单独配置。测试代码完成!(test目录在打包文件中)
测试用例:
先启动Apache服务,在先后启动两台tomcat,分别点startup.bat批处理。如果一切顺利的话,就会启动成功。再次访问http://localhost,可以看到小猫页面。访问http://localhost/test/test.jsp。可以看到包括服务器地址,端口,session等信息在内的页面。
然后你可以测试一下容错功能,关闭一个tomcat,看看服务是否正常,然后重启tomcat,关掉另一台tomcat,看看是否也可以继续提供服务。
希望对您有帮助。。。。。
1负载均衡的概念:就是apache将客户请求均衡的分给tomcat1,tomcat2....去处理
2 环境说明(Apache端口:80不需出来 Apache端口:8080 在 Apache安装bin目录下(dos下) 执行httpd -k install)
tomcat-6.0.18免安装版本(zip版)2个
apache_2.2.11-win32-x86-no_ssl.msi:
tomcat的负载均衡需要apache服务器的加入来实现。在进行配置之前请先卸载调已安装的tomcat,然后检查apache的版本。如果版本低于2.2负载均衡的配置要有所不同,因为这个2.2.11和2.2.8版本集成了jk2等负载均衡工具,所以配置要简单许多。别的版本我没有具体测试,有待考究。这两个软件可以到官方网站下载
把Apache安装为运行在80端口的Windows服务,安装成功后在系统服务列表中可以看到Apache2.2服务。服务启动后在浏览器中输入http://localhost进行测试,如果能看到一个"It works!"的页面就代表Apache已经正常工作了。把tomcat解压到任意目录,赋值一个另命名。起名和路径对配置没有影响。但要保证端口不要冲突,如果装有Oracle或IIS的用户需要修改或关闭相关接口的服务。当然jdk的配置也是必须的,这个不再过多叙述。
3 配置步骤
第一步,在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 lvp@tzx.com.cn
ServerName localhost
ServerAlias localhost
ProxyPass / balancer://sy/ stickysession=jsessionid nofailover=On
ProxyPassReverse / balancer://sy/
ErrorLog "logs/sy-error.log"
CustomLog "logs/sy-access.log" common
</VirtualHost>
第四步,然后回到httpd.conf,在文档最下面加上
ProxyRequests Off
<proxy balancer://sy>
BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm1
BalancerMember ajp://127.0.0.1:9009 loadfactor=1 route=jvm2
</proxy>
第五步,
分别打开两个tomcat的server.xml配置文件,其中一台可以采用默认的设置,只需要修改两个地方,而另一个要有较大改动以避免与前一台冲突。如果两台不在同一台服务器上运行,对于端口就不需做改动。首先是配置关闭端口,找到<Server port="8005" shutdown="SHUTDOWN">,第一台不变,把第二台改为9005。
第六步,
下面配置server.xml配置文件的Connector端口,找到non-SSL HTTP/1.1 Connector,即tomcat单独工作时的默认Connector,保留第一台默认配置,在8080端口侦听,而把第二台设置为在9080端口侦听。
第七步,
往下找到AJP 1.3 Connector,<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />,这是tomcat接收从Apache过来的ajp连接请求时使用的端口,保留第一台默认设置,把第二台端口改为9009。
第八步,
第一台tomcat的server.xml中找到<Engine name="Catalina" defaultHost="localhost">,去掉这段或改为注释,把上方紧挨的<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">注释符去掉,对于第二台,去掉注释符并把jvm1改为jvm2。
第九步,
第一种:(一般程序配置)
向下找到<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>,去掉注释,这里的配置是为了可以在集群中的所有tomcat节点间共享会话(Session)。如果仅仅为了获得一个可用的tomcat集群,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"/>
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Membership className="org.apache.catalina.tribes.membership.McastService"
address="228.0.0.4"
port="45564"
frequency="500"
dropTime="3000"/>
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="auto"
port="5000"
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;"/>
<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
tempDir="/tmp/war-temp/"
deployDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/>
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>
第十步,
配置成功后。在webapps目录下新建test目录,在test目录下新建test.jsp文件
在test目录下继续新建WEB-INF目录和web.xml,在<web-app>节点下加入<distributable />,这一步非常重要,是为了通知tomcat服务器,当前应用需要在集群中的所有节点间实现Session共享。如果tomcat中的所有应用都需要Session共享,也可以把conf/context.xml中的
<Context>改为<Context distributable="true">,这样就不需对所有应用的web.xml再进行单独配置。测试代码完成!(test目录在打包文件中)
测试用例:
先启动Apache服务,在先后启动两台tomcat,分别点startup.bat批处理。如果一切顺利的话,就会启动成功。再次访问http://localhost,可以看到小猫页面。访问http://localhost/test/test.jsp。可以看到包括服务器地址,端口,session等信息在内的页面。
然后你可以测试一下容错功能,关闭一个tomcat,看看服务是否正常,然后重启tomcat,关掉另一台tomcat,看看是否也可以继续提供服务。
希望对您有帮助。。。。。
发表评论
-
轻松看懂Java字节码
2018-04-09 10:28 619计算机只认识0和1。这意味着任何语言编写的程序最终都 ... -
happens-before俗解
2018-04-09 10:03 591学习Java并发,到后面总会接触到happens-befor ... -
位与&,位或|,位异或^运算
2018-04-04 17:25 624一.按位与运算符 参加运算的两个数据,按二进制位进行位与 ... -
Java中>>、>>>、<<
2018-04-04 14:47 426定义: 右移动>>:带符号右移。正数右移高位 ... -
在Java中谈尾递归--尾递归和垃圾回收的比较
2017-08-29 17:49 459转载请注明:博客园- ... -
hotspot的垃圾回收策略,设置和调优
2017-01-11 18:48 1891我们都知道JVM内存由几个部分组成: Java栈、程序计数器 ... -
两点距离计算
2016-11-05 18:03 545public class DistanceUtil { pr ... -
protobuf对象序列化问题一
2016-06-15 21:07 2795今天在项目中遇到一个奇葩问题。问题描述:项目基于dubbo服务 ... -
Protostuff对象序列化工具
2016-06-08 09:53 1811VO.java import java.io.Serial ... -
高性能序列化、反序列化protostuff 使用
2016-06-07 16:45 30331、引用jar包: pom.xml: <!-- p ... -
Java调用bat文件和exe文件
2016-01-12 11:09 950public static void main(String ... -
Dubbox+Redis3.0+Spring+Hibernate+zookeeper实现消息推送核心搭建
2015-12-30 15:55 10539这里在开始搭建环境之前请搭建先熟悉了解Dubbox、Red ... -
网站集成ueditor+上传文件到共享盘
2015-12-10 13:47 1955这里给大家分享下载使用ueditor使用心得, ... -
java 实现微信搜索附近人功能
2015-03-25 18:07 4927最近给andorid做后台查询数据功能,有一个需求是模仿微信 ... -
重庆APP开发 重庆Android 重庆Ios 爬虫科技 重庆爬虫科技
2014-10-06 12:03 9<!--[if gte mso 9]><x ... -
JCIFS--java通过域登录实现单点登录
2014-09-04 15:38 4152JCIFS--java通过域登录实现单点登录 ... -
JPA 去除重复列数据
2013-12-30 15:31 11182//清除重复列 Session sessi ... -
使用Eclipse构建Maven的SpringMVC项目
2013-12-12 13:05 985使用Eclipse构建Maven的Spri ... -
Ehcache 整合Spring 使用页面、对象缓存
2013-12-12 13:04 1287Ehcache 整合Spring 使用页面、对象缓存 E ... -
Spring mvc整合hibernate例子
2013-12-11 13:42 1177企业级项目实战(带源码)地址: http://zz563143 ...
相关推荐
SVN1.4.6 + apache2.2.11 + tomcat 6.0.18 集成配置SVN1.4.6 + apache2.2.11 + tomcat 6.0.18 集成配置
Apache2.2与Tomcat6.0的集成配置是一个常见的软件开发任务,特别是在构建高性能、高可用性的Web应用服务器环境中。Apache作为静态内容处理的强力HTTP服务器,与Tomcat(一个流行的Java Servlet容器)结合使用,可以...
相关配置文件 博文链接:https://morning-sunshine-2008.iteye.com/blog/433412
apache2.2.11和tomcat6整合配置例子打包下载,开发宝典...... apache2.2.11和tomcat6整合配置 1,下载mod_jk.so 2,在apache的httpd.conf里面加入下面的话 LoadModule jk_module modules/mod_jk.so JkWorkersFile "D:\...
【Apache+Tomcat 集群与负载均衡及Session绑定】是将多个Apache和Tomcat服务器配置成一个集群,以实现更高的服务可扩展性和可用性。集群的基本思想是通过将工作负载分散到多个服务器,避免单点故障,提高系统的整体...
XP搭建Apache+Tomcat+JSP+PHP+MYSQL环境教程 ...1、apache_2.2.11-win32-x86-no_ssl.msi 2、Mod_jk-1.2.28-httpd-2.2.3.so 3、apache-tomcat-6.0.18.zip 4、mysql-5.5.15-win32.msi 5、php-5.4.35-Win32-VC9-x86
### Apache+Tomcat整合安装配置详解(Windows平台) #### 一、概述 本文将详细介绍如何在Windows平台上安装和配置Apache与Tomcat,并实现基于mod_jk模块的负载均衡。通过这种方式,可以有效地提高Web应用程序的...
在Windows平台上配置Apache+Tomcat环境,主要是为了搭建一个能够处理Java Web应用的服务器。Apache HTTP服务器作为前端服务器,负责处理HTTP请求,并通过mod_jk模块与后台的Tomcat Web应用容器进行通信。以下是详细...
在本文中,我们将深入探讨Apache 2.2.11在Windows平台上的安装、配置、使用以及其主要特性。 1. **安装Apache 2.2.11 on Windows** - 下载:首先,你需要从官方或可靠的源下载`apache_2.2.11.zip`文件,解压缩到...
在httpd-2.2.11文件中,用户可以找到安装和配置Apache所需的所有文件,包括源代码、文档、示例配置等。安装过程通常包括编译源代码、配置服务器选项、安装二进制文件以及启动和管理服务器等步骤。 总的来说,Apache...
apache 2.2.11配置文件中英文对照
本文档详细介绍了如何在 Windows 系统上安装配置并整合 Apache Tomcat 6.0.20 和 Apache 2.2.11。这种整合可以有效地提升 Web 应用程序的性能和服务质量,同时也能让 Web 开发者更加灵活地管理应用程序。以下是整个...
4. 配置Apache以支持SVN,编辑`httpd.conf`,添加以下模块和配置: ```apache LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so ``` 然后,添加一...
这个名为"apache_2.2.11-win32-x86-openssl-0.9.8i_gpxz"的压缩包文件,显然包含了在Windows 32位系统上运行的Apache 2.2.11版本,以及OpenSSL 0.9.8i库。这两个组件在IT领域中都具有重要的地位。 Apache 2.2.11是...
Apache+PHP+MySQL安装配置所需的资源与教程 由于上传大小限制,共分3个文件 一共包括: mysql-5.0.67-linux-i686-icc-glibc23.tar.gz httpd-2.2.11.tar.gz jpegsrc.v6b.tar.gz zlib-1.2.3.tar.gz libpng-1.2.34.tar....
ubuntu下Apache+PHP+MySQL安装配置所需的资源及一份教程 由于上传大小限制,共分三个文件 一共包括: mysql-5.0.67-linux-i686-icc-glibc23.tar.gz httpd-2.2.11.tar.gz jpegsrc.v6b.tar.gz zlib-1.2.3.tar.gz ...
apache2.2.11最新版,win32版本,20个字很难凑啊
最新win平台Apache+PHP+MySQL+PHPMyAdmin一键安装包(多国语言) WAMP是指在Windows服务器上使用Apache、MySQL和PHP的集成安装环境,可以快速...Apache 2.2.11 PHP 5.3.0 MySQL 5.1.36 Phpmyadmin 大小:16M