我在安装配置好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,并以此为例说明。

  1. 将下载下来的文件放到apache安装目录下的modules文件夹下。
  2. 修改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

  3. 配置网站虚拟目录。在httpd.conf文件中找到最后一个</Directory>标签,在其后添加虚拟目录配置。例如下面的D:/MyWeb就是虚拟目录的位置:
    <Directory “D:/MyWeb”>
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
    </Directory>
  4. 添加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
  5. 配置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