Windows下Apache+Tomcat7负载均衡配置方法详解

发布时间:2019-10-09 07:07 来源:互联网 当前栏目:网站服务器

准备工作

Windows Server 2008 R2 Enterprise(2.40GH,8GB,64Bit,192.168.10.212)
2台Ubuntu 10.04.4(192.168.10.98,192.168.10.137)
JDK1.7.80
Tomcat7.0.68
Apache2.4.4

1.安装Apache2.4.4

安装过程中没什么注意事项,一直Next就行了。安装完成后默认开启Apache服务,可以在浏览器上输入localhost或者127.0.0.1,这时候会出现It works的字样

2.Java环境

在Ubuntu上的配置网上很多我就不多讲了,但是记得配置JAVA_HOME和PATH

3.Tomcat安装

直接解压在目录中就好了,我的目录在/opt/tomcat7/,在两台Ubuntu上都解压。可能会遇到权限不足的问题,这时候就要敲命令啦,最简单粗暴的,莫过于sudo chmod 777 目录,鉴于安全问题,各位还是妥善地进行授权,这就不提了。

开始配置

Apache的配置

1.首先打开一些必要的Module注释(把前面的#号去掉就行),在conf/httpd这个文件中

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 slotmem_shm_module modules/mod_slotmem_shm.so
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so

这里我提一下最后两个个,我当时只打开了前面几个,结果Apache一直启动不起来

看了看日志发现一直在报Failed to lookup provider ‘shm' for ‘slotmem': is mod_slotmem_shm loaded??这个错误,我看了看才发现原来没有打开这个Module,去掉#号就不会报这个错误了;

另外一个是因为报了(22)Invalid argument: AH01183: Cannot share balancer这个错误,打开这个Module之后就不会报错啦。

2.在conf/httpd文件中打开Virtual hosts的注释

在Include前去掉#号

3.在conf/extra/httpd-vhosts.conf中添加配置

先把我自己的配置贴出来

<VirtualHost *:80>
  ServerAdmin 502053382@qq.com
  ProxyPass / balancer://cluster/ stickysession=JSESSIONID|jsessionid nofailover=On
  ProxyPassReverse / balancer://cluster/
  ServerName 192.168.10.212
  ErrorLog "logs/error.log"
  CustomLog "logs/access.log" common
</VirtualHost>
ProxyRequests Off
<proxy balancer://cluster>
  BalancerMember ajp://192.168.10.98:8009 loadfactor=1 route=jvm1 smax=5 max=20 ttl=120 retry=300 timeout=15
  BalancerMember ajp://192.168.10.137:8009 loadfactor=1 route=jvm2 smax=5 max=20 ttl=120 retry=300 timeout=15
</proxy>

ProxyPass :将远程服务器映射到本地服务器的URL空间

balancer:// :代理的指令类型

stickysession : 均衡器粘连会话名称。该值常常会被设置为类似JSESSIONID或者 PHPSESSIONID之类的值,他依赖于支持会话的后端应用服务器。如 果后端服务器使用不同的cookie名称或者URL编码的ID(像servlet 容器),使用|来分开他们。第一个部分针对cookie,第二个针对路径。

nofailover : 如果设为‘On',当工作单元被禁用或者出错时,会话则立即中断。可以将 该值设为On如果后端服务器不支持会话复制(Session replication)。

ProxyRequests : 在使用ProxyPass指令的时候,ProxyRequests指令通常都应该是关闭 的。

BalancerMember : 均衡成员

  • 1、
  • 2、
  • 3、
  • 4、
  • 5、
  • 6、
  • 7、
  • 8、
  • 9、
  • 10、
  • 11、
  • 12、
  • 13、
  • 14、
  • 15、
  • 16、
  • 17、
  • 18、
  • 19、
  • 20、
  • 21、
  • 22、
  • 23、
  • 24、
  • 25、
  • 1、
  • 2、
  • 3、
  • 4、
  • 5、
  • 6、
  • 7、
  • 8、
  • 9、
  • 10、
  • 11、
  • 12、
  • 13、
  • 14、
  • 15、
  • 16、
  • 17、
  • 18、
  • 19、
  • 20、
  • 21、
  • 22、
  • 23、
  • 24、
  • 25、