论坛首页 Java企业应用论坛

Tomcat + apache 做web 负载平衡和群集

浏览 4528 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-03-27  

Tomcat + apache web 负载平衡和群集

操作系统:windows 我本机。以下是已经试验过的。

tomcat-6.0.26  下载地址:http://tomcat.apache.org/download-60.cgi

httpd-2.2.15 下载地址:http://labs.renren.com/apache-mirror/httpd/binaries/win32/httpd-2.2.15-win32-x86-no_ssl.msi

 

1、Apache配置
1.1、httpd.conf配置
修改APACHE的配置文件D:\Apache \conf\httpd.conf
将以下Module的注释去掉,这里并没有使用mod_jk.so进行apache和tomcat的链接,从2.X以后apache自身已集成了 mod_jk.so的功能。只需简单的把下面几行去掉注释,就相当于以前用mod_jk.so比较繁琐的配置了。这里主要采用了代理的方法,就这么简单。
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>

1.2   httpd.conf中找到Include conf/extra/httpd-vhosts.conf 把它前面的注释去掉

1.3 Apache2.2\conf\extra 目录下找到httpd-vhosts.conf在它的内容尾添加下面内容:

ProxyRequests Off

<VirtualHost *:80>

         ServerAdmin webmaster@dummy-host2.a.com

         ServerName localhost

         ServerAlias localhost

         ProxyPass / balancer://proxy/ stickysession=JSESSIONID nofailover=Off lbmethod=bytraffic

         ProxyPassReverse / balancer://proxy

         <Proxy balancer://proxy>

                BalancerMember http://127.0.0.1:9080/ loadfactor=1 route=work1

                BalancerMember http://127.0.0.1:10080/ loadfactor=1 route=work2

         </Proxy>

</VirtualHost>

 

 

<Location /balancer-manager>

    SetHandler balancer-manager

    Order Deny,Allow

    Deny from all

    Allow from all

</Location>

 9080 10080 两个端口是你的tomcat http访问端口 apache配置完。

 

2tomcat的配置 (一下配置都在server.xml 文件中)

2.1 改端口两个地方端口

<Connector port="#####" protocol="HTTP/1.1"  connectionTimeout="20000" redirectPort="8443" />

<Connector port="#####" protocol="AJP/1.3" redirectPort="#####" />

多个tomcat需要把#####替换成不通的端口号

2.2  打开两个注释

<Engine name="Catalina" defaultHost="localhost" jvmRoute="work1">把原来的 engine 那个注释掉,多个tomcat  jvmRoute=”不同的名,且需要和apacheHTTPServer 中的route值对应

  <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> 这个注释也打开

 

 

备注:

1linuxApache
   进入解压目录,在终端执输入以下命令:

  ./configure --prefix=/usr/local/httpd --enable-so --enable-proxy --enable-proxy-ajp --enable-proxy-http --enable-proxy-ftp --enable-proxy-connect --enable-proxy-balancer

然后编译安装
  参照地址:http://bbs.ctocio.com.cn/viewthread.php?tid=7810697


 

论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics