我在安装配置好apache,php,mysql以架设wordpress之前,其实我的计算机上早就有mysql和tomcat了。这些是为J2EE开发用的,而且我在配置apache和php的时候就顺便把apache和tomcat的整合搞定了,现在就来讲一讲。
其实apache和tomcat的整合就是解决请求转发的问题。apache处理静态页面的能力远远强于tomcat,但是tomcat是servlet,可以处理jsp,action等。转发就是把apache无法处理的页面交给tomcat处理。
首先,从apache官网上下载mod_jk模块的so文件,下载是注意文件版本与自己的服务器版本保持匹配。我下载的是mod_jk-1.2.31-httpd-2.2.3.so,并以此为例说明。
- 将下载下来的文件放到apache安装目录下的modules文件夹下。
- 修改apache配置文件conf/httpd.conf。在一大堆的LoadModule之后添加如下配置:
# 加载 mod_jk 模块
LoadModule jk_module modules/mod_jk-1.2.31-httpd-2.2.3.so# 指定 mod_jk 模块所需的配置文件 workers.properties 的位置
JkWorkersFile conf/workers.properties# 指定 mod_jk 模块的日志文件位置
JkLogFile logs/mod_jk.log# 指定 mod_jk 模块的日志级别
JkLogLevel info# 指定 mod_jk 模块的日志格式
JkLogStampFormat “[%a %b %d %H:%M:%S %Y]###将jsp action do转发给tomcat6
JkMount /*.jsp tomcat6
JkMount /*.action tomcat6
JkMount /*.do tomcat6 - 配置网站虚拟目录。在httpd.conf文件中找到最后一个</Directory>标签,在其后添加虚拟目录配置。例如下面的D:/MyWeb就是虚拟目录的位置:
<Directory “D:/MyWeb”>
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory> - 添加works.properties文件。在conf目录下新建一个名为works.properties的文件,文件内容为:#下面是Tomcat实例列表
worker.list=tomcat6 //这里的tomcat6跟第二步配置中的tomcat6对应
#tomcat6实例配置
worker.tomcat6.host=127.0.0.1
worker.tomcat6.port=8009
worker.tomcat6.type=ajp13 - 配置tomcat。只需要将网站在tomcat中配置虚拟目录,这里的虚拟目录跟apache配置的虚拟目录一样。
对于tomcat6虚拟目录的官方推荐配置是在tomcat的conf/Catalina/localhost目录下新建xml配置文件。这个配置文件的名称与你的项目名称一样。
如新建blog.xml,文件内容为:
<Context path=”/blog” reloadable=”true” docBase=”D:/MyWeb” workDir=”D:/MyWeb/work” />
至此,apache与tomcat的整合就配置完了。如有疑问可以给我留言。
转载此文,请注明此出处:http://wyang1991.gicp.net/blog/?p225