环境:
apache 2.4.16
tomcat 8.0.15
第一步:
1.准备多个tomcat的实例,在这里我简单的采取了复制多个tomcat的方式
由于多个实例全跑在一台服务器上,因此需要修改三个端口号,默认端口号如下:
8005
8080
8009
按实际情况修改三份不同的端口即可。
2.修改tomcat server.xml文件
为 Engine 节点增加 jvmRoute 属性,属性值为节点名称,如: jvmRoute="node_a"
这个名称会在apache的配置文件中用到
取消每个实例 Engine 节点下的
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
的注释,此项配置用于session复制和共享
第二步:
修改apache配置,取消以下行前面的#号注释
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
修改%APACHE_HOME%\conf\extra下的httpd-vhosts.conf配置文件
ProxyRequests off 关闭正向代理
增加以下内容
<VirtualHost *:80>
ServerAdmin sz@localhost
ServerName localhost
ServerAlias localhost
ProxyPass / balancer://cluster/ stickysession=JSESSIONID|jsessionid nofailover=On
ProxyPassReverse / balancer://cluster/
#ErrorLog "logs/error.log"
#CustomLog "logs/access.log" common
</VirtualHost>
<proxy balancer://cluster>
BalancerMember ajp://127.0.0.1:8010 loadfactor=1 route=node_a smax=5 max=20 ttl=120 retry=300 timeout=15
BalancerMember ajp://127.0.0.1:8011 loadfactor=1 route=node_b smax=5 max=20 ttl=120 retry=300 timeout=15
BalancerMember http://127.0.0.1:8080 status=+H
ProxySet lbmethod=byrequests
</proxy>
其中 BalancerMember http://127.0.0.1:8080 status=+H 为后备节点,当负载节点全部失效时,请求会转发给后备节点
第三步:
为文件上传配置虚拟目录
修改tomcat server.xml文件,在 Host 节点下增加
<Context path="/upload" docBase="D:\web_file_root\upload"></Context>
<Context path="/export" docBase="D:\web_file_root\export"></Context>
<Context path="/download" docBase="D:\web_file_root\download"></Context>
增加虚拟路径映射后,相应的http://xx.xx.xx.xx/upload...请求会被映射到配置的物理路径中,在项目中配置文件上传的物理路径为对应的路径后,即可在集群环境中正常使用文件上传及下载
备注:如果希望tomcat的各个实例间可以session共享,需在web项目的web.xml配置文件中增加<distributable/>,此处未进行详细测试;session共享要求所有session对象实现Serializable
由于时间原因,本次配置成功后未对所有配置项进行深入的了解,现将所有配置项记录下来,以后有时间还需对每个配置项作相应了解,以掌握相关的原理及性能调优的方式。
参考资料:
http://www.cnblogs.com/fly_binbin/p/3881207.html
分享到:
相关推荐
Apache Tomcat 负载均衡配置说明
Apache+tomcat负载均衡配置详解工具及文档
配置安装Apache+Apache Tomcat实现tomcat负载均衡教程.doc
3集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性与可用性的服务平台。在客户端看来,一个集群就象是一个...欢迎下载:Apache Tomcat负载均衡及Session绑定的实现.doc,共10页,3千多字,图文教程!
apachetomcat负载均衡整合文档
apache tomcat 负载均衡技术 详解
apache+tomcat负载均衡apache+tomcat负载均衡apache+tomcat负载均衡apache+tomcat负载均衡
Apache&tomcat负载均衡集群配置详细介绍
内附完整配置教程和修改后的apache的httpd.conf文件和tomcat的server.xml配置文件,包含test测试项目,不包含apache和tomcat安装文件。 本教程参考网上资料,本机测试成功,如有问题可以私信说明。
Apache,tomcat负载均衡和session复制
apache代理Tomcat负载均衡配置
linux_apache+tomcat负载均衡安装和调试.pdf
apache tomcat负载集群,appache负载,tomcat负载
Windows 环境下 Tomcat +Apache实现负载均衡
Apache 的 Tomcat 负载均衡和集群 ( linux, centos) jkmod
apache+tomcat负载均衡配置源码
Apache,Tomcat集群和负载均衡包括了apache-tomcat-5.5.29.zip,apache_2.2.4-win32-x86-no_ssl.msi,mod_jk-1.2.28-httpd-2.2.3.so,ApacheTomcat整合文档.doc,Apache,Tomcat集群和负载均衡教程.doc,Tomcat负载...
apache_tomcat负载均衡及配置举例
apache tomcat 集群 负载 均衡 利用apache和tomcat进行集群