Apache HTTP Server与Tomcat集成实践

集成原因

tomcat处理支持servlet/jsp以外,也可以当作web服务器来使用,但是其处理静态资源文件(css,js,image)的能力比不上专业的Apache服务器,为什么?tomcat是基于线程的方式来响应客户端请求,这样,无论用户是请求静态文件还是jsp文件,tomcat必须开启线程来响应,因此采用两者结合的方式,让apache响应静态资源,tomcat响应动态请求,各司其职,达到网络分流的目的

步骤

1.下载必须的服务器

    Apache HTTP Server 2.2

    Tomcat 7.0

    jk_mod -这个文件是用来链接http server与tomcat的桥梁,可以在http://download.csdn.net/source/1343482 下载到

2.配置Apache服务器

   将下载的的mod_jk-apache-2.2.4.so 放到${APACHE_HOME}/modules目录下

   打开${APACHE_HOME}/conf在文件的最后添加一下几行配置

LoadModule jk_module modules/mod_jk-apache-2.2.4.so
JkWorkersFile "conf/workers.properties"
JkMountFile conf/uriworkermap.properties
JkLogFile "logs/mod_jk.log"
  在${APACHE_HOME}/conf目录下新建文件workers.properties,文件内容如下

这里配置了与tomcat集成的tomcat的信息(一个apache可以与多个tomcat集成进行负载均衡配置)

ps="
worker.list=ajp13
worker.ajp13.port=8009      
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1
在${APACHE_HOME}/conf目录下新建文件uriworkermap.properties

这个文件配置url的访问规则,即哪些文件交给apache处理,哪些交给tomcat处理

/*=ajp13
/jkstatus=status

!/*.gif=ajp13
!/*.jpg=ajp13
!/*.png=ajp13
!/*.css=ajp13
!/*.js=ajp13
!/*.htm=ajp13
!/*.html=ajp13
3.配置Tomcat服务器

编辑器打开${TOMCAT_HOME}/conf/server.xml文件,找到<Host>元素,将appBase由原来的"webapp"修改为以下

<Host name="localhost"  appBase="C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"
            unpackWARs="true" autoDeploy="true">
作用很明显,就是让tomcat去指定目录下加载web应用,这里我们指向了Apache Server的默认访问目录,这样两者就可以访问统一个目录下的文件了

4.重启tomcat服务器,Apache服务器

  找个示例应用复制到${APACHE_HOME}/htdocs目录下


5.访问

http://localhost/jsp-examples/ 结果如下






评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值