tomcat + apache http server配置

    tomcat虽然也能处理html,image,js,css这些静态文件的请求,但是与apache http server比起来,还是小巫见大巫了,由于apache没办法处理jsp脚本,这就必须要交由tomcat来处理,当然还有其他应用服务器,这里我们就说说tomcat,所以问题变为:
1.静态文件(image,css,js)等这些静态文件可由apache http server来处理
2.jsp文件交由tomcat来处理

经过这样的配置,可以大大增加网站处理静态文本的能力
下边说下配置的流程,tomcat整合apache http server 主要又apache tomcat提供的jk(http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/ )模块,也可以使用apache2.2.x以后的代理模块,但久经考验的还是jk模块,经过千万亿次请求的东西还是值得让人信赖的。


配置其实很简单,这里先不介绍负载均衡配置,只是简单的集成1个tomcat与1个apache http server

所需环境:
JDK 1.5 +
Tomcat 6.0 +
Apache Http Servier 2.2 +
mod_jk-1.2.28-httpd-2.2.3.so(win32)


1.配置apache http server

本文环境:D:\apache

打开 D:\apache\conf\httpd.conf

增加:

# 加载 mod_jk 模块
LoadModule jk_module modules/mod_jk-1.2.28-httpd-2.2.3.so

# 配置 mod_jk
JkWorkersFile conf/tomcat/workers.properties
JkMountFile conf/tomcat/uriworkermap.properties
JkLogFile logs/mod_jk.log
JkLogLevel warn




下边在(D:\apache\conf\)下增加tomcat目录,在tomcat目录下新建workers.properties、
uriworkermap.properties

这里说明一下,workers.properties这个文件是配置jk模块与tomcat通信地址,以及一些约定
uriworkermap.properties 是配置哪些文件由apache http server 处理,哪些由tomcat处理,你也可以在httpd.conf配置下边的内容,但是由于这些属性是jk模块所独有的,为了让我们更改配置后不重新启动apache http server,这里分开配置。

workers.properties配置如下:

#
# workers.properties
# by haitao.tu 2009-7-22
#


# list the workers by name

worker.list=tuz, status

# localhost server tuz
# ------------------------
worker.tomcat.port=8009
worker.tomcat.host=localhost
worker.tomcat.type=ajp13

worker.tuz.type=lb
worker.retries=3
worker.tuz.balanced_workers=tomcat
worker.tuz.sticky_session=1

worker.status.type=status



    以上的 workers.properties 配置就是我们前面那个屏幕抓图的页面所用的配置。首先我们配置了类型为 ajp13 的 worker tuz,它指向服务器上运行在端口 8009 的 Tomcat(tomcat默认开启有8009 ajp1.3端口) 上。接下来我们配置了一个类型为 lb(也就是负载均衡的意思)的 worker(由于我这里只是配置了一个tomcat所以这里也就没有负载意思,只是先这样写,有时间我写一个负载的demo),它的名字是 tomcat,这是一个逻辑的 worker,它用来管理前面配置的物理连接 tuz,将来还可以配置多个。最后还配置了一个类型为 status 的 worker,这是用来监控 JK 本身的模块。有了这两个 worker 还不够,我们还需要告诉 JK,哪些 worker 是可用的,所以就有 worker.list = tuz, status 这行配置

    下来便是 URI 的映射配置了,我们需要指定哪些链接是由 Tomcat 处理的,哪些是由 Apache Http Server直接处理的,看下面这个文件你就能明白其中配置的意义:

# 映射文件配置
/*=tuz
/jkstatus=status

!/*.gif=tuz
!/*.jpg=tuz
!/*.png=tuz
!/*.css=tuz
!/*.js=tuz
!/*.htm=tuz
!/*.html=tuz



这里简单解释下:

    所有的请求都由 tuz这个 worker 进行处理,但是有几个例外,/jkstatus 请求由 status 这个 worker 处理(这个主要是监控jk的页面,由jk模块处理), 感叹号表示接下来的 URI 不要由 JK 进行处理,也就是 Apache 直接处理所有的图片、css 文件、js 文件以及静态 html 文本文件,很简单吧~

下边测试一下:
首先在apache http server的htdocs目录,我的环境是
D:\apache\htdocs
在这个目录新建一个test目录,在里边放入Sunset.jpg图片(windows自带壁纸)

然后在tomcat的webapps目录,我的环境是
D:\apache-tomcat-6.0.18\webapps
在这个目录里也新建一个test目录,在里边放入写好的jsp文件:
index.jsp

<html>
	<body>
		<h1>tomcat 6.0.18</h1>
		<img src="Sunset.jpg">
	</body>
</html>



然后启动tomcat与apache http server

打开链接:http://localhost/test/index.jsp

 

成功时可以看到apache http server通过jk模块把index.jsp的请求通过tomcat开启的8009端口 通知tomcat,然后由tomcat的处理jsp请求,但apache http server自己处理了图片的请求。

 

先写这么多吧,自己也是现学现卖,主要还是把学到的东西记下来,以供日后查看。

 





   



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值