专注于深圳企业建站,深圳做网站首选建站公司收藏本站|设为首页

您现在的位置: 网站首页 > 网站专题 > 网络编程 > 详细内容

Apache整合tomcat

2010-11-3 9:38:02 来源: 云梯科技 www.wangzhan114.com [ ]

Apache整合tomcat

     由于tomcat在处理静态数据的时候, 效果不是很理想, 所以最好是用apache或者nginx等来处理静态数据, 把动态数据送给tomcat来处理. 后续会讲到如何使用apache来做balance, 这里使用单balance来做集成.

环境:

Jdk 5.0 / Apache 2.2 / Tomcat 6.0 

整合方法:

使用mod_proxy, 这种方式必须要apache 2.2以上. 2.2已经内置了, 需要释放这些mod.
只需将在conf/httpd.conf文件中将相关被注释掉的配置语句释放即可

需要释放的配置如下:

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
 
加入转发代理地址配置:
在conf/httpd.conf文件最下面加入如下配置

ProxyRequests Off

BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm1

需要说明的是Apache在与Tomcat整合时允许进行集群配置cluster, 但本处不进行集群配置, 因此只需按照如上所述进行配

这个地方需要特别说明: apache的负载均衡是通过tomcat的ajp作为桥梁连接起来的, 所以, 在BalancerMember这个地方的配置一定要和tomcat中的配置一致. 

打开虚拟服务器的配置
在conf/httpd.conf文件找到这句语句:

#Include conf/extra/httpd-vhosts.conf

将其注释释放.

相关的虚拟服务器的配置将在conf/extra/httpd-vhosts.conf文件中进行设置

所谓的虚拟服务器: 比如在balance的时候, 2台tomcat, 但是在apache这边, 看起来就是一台虚拟服务器.

加入jsp文件支持
在conf/httpd.conf文件找到这句语句

DirectoryIndex index.html

将其改为如下

DirectoryIndex index.html index.jsp

修改conf/extra/httpd-vhosts.conf文件配置虚拟服务器
在文件最后加入如下配置

ServerAdmin webmaster@dummy-host3.steel.com

ServerName localhost

ServerAlias localhost

ProxyPass /images !

ProxyPass /css !

ProxyPass /js !

ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On

ProxyPassReverse / balancer://cluster/

以上, apache方面配置完成.

Tomcat配置:

Tomcat只需要修改tomcat/conf/server.conf就可以了.

修改Engine配置:
找到下面这句语句

将其修改为如下

注意 这个地方的jvmRoute的名字一定要和apache中的配置中一致.

修改/确认Connector配置
检查文件中对Connector端口8009配置是否如下

若不是, 请修改之。

    注意: 这里面的端口8009一定要和apache中的配置 一致. 

测试:

在浏览器中输入: http://localhost

如果能够看到tomcat的小猫猫页面, 说明成功.