Apache和Tomcat结合使用入门

    技术2022-05-11  122

    ApacheTomcat结合使用入门

    作者:cherami

    email:cherami@163.net

     

    以下说明参照tomcatmod_jk-howto.html和自己的实际配置经验,如果你依照此文档不能正确配置,请参照该文档的说明一步一步做。本人使用的tomcat版本为3.3a,文档也为该版本自带。

    1.         获取mok_jkhttp://jakarta.apache.org/builds/jakarta-tomcat/release/v3.3/bin/,该目录下有针对不同平台的编译完的二进制的mod_jk,对于linux平台,位于linux/i386目录下(mod_jk.so),对于windows系统位于win32/i386mod_jk.dll)(你也可以根据tomcat的自带文档的说明自己编译得到需要的模块,具体过程请自己参照tomcat自带的文档mod_jk-howto.html

    2.         将得到的mod_jk拷贝到apache的对应目录下,对于linux/unix平台为apachelibexec目录下,对于windows则为modules目录

    3.         修改apacheconf目录下的httpd.conf 文件,如果原来使用了mod_jserv,则去掉,然后在文件的最后增加如下一行:Include TOMCAT_HOME/conf/auto/mod_jk.conf,其中的TOMCAT_HOME使用你自己的系统的实际路径代替,对于windows,一个范例是Include D:/jakarta-tomcat/conf/auto/mod_jk.conf,对于unix/linux则是Include /usr/local/jakarta-tomcat/conf/auto/mod_jk.conf

    4.         修改tomcat的启动文件,使之产生一个auto/mod_jk.conf文件,方法为,对于windows,修改bin目录下的startup.bat,将倒数第三行的start %1 %2 %3 %4 %5 %6 %7 %8 %9改为start jkconf %1 %2 %3 %4 %5 %6 %7 %8 %9,然后运行一下startup.bat,(过程很快,运行后将自动退出而非处于正常启动时的的运行等待状态)将生成文件TOMCAT_HOME/conf/auto/mod_jk.conf,然后再将startup.bat还原即可,对于unix/linux则是将startup.sh中的$BASEDIR/tomcat.sh start $@修改为$BASEDIR/tomcat.sh start jkconf $@,运行startup.sh,也将生成TOMCAT_HOME/conf/auto/mod_jk.conf,情况和windows平台类似。

    5.         重新启动apache,启动tomcat,至此即完成的apache_tomcat的基本配置。

     

    注意:在此情况下,apache能够服务的内容仅为你在进行第四步的时候tomcatwebapps目录下的已有应用,如果你以后将应用添加到tomcatwebapps目录下,那么你通过apache只能访问到原来的应用,你添加的应用只能加上端口8080才能访问,要解决此问题,一种方法是再次进行45两步,或者你可以根据TOMCAT_HOME/conf/auto/mod_jk.conf添加你的新应用的内容。另外一个没有经过深入测试的方法就是将mok_jk.conf中的所有JkMount行用两行代替:

    JkMount / ajp13

    JkMount /* ajp13

    ,这样做的结果实际上可能是将所有的应用都交给了tomcat,连apache的主服务目录也变成了tomcat的主web服务目录(webapps),再向tomcat添加应用将不用进行任何修改,只需要重新启动tomcat即可,至于静态网页的服务是apache还是tomcat完成就不清楚了,apache的额外配置是否因此受到影响也不清楚。另外需要注意的是如果你的tomcat的webapps目录下的应用的名称中有下划线,那么生成的应用名称将会改变,例如webapps下有目录test_underline,那么你应该通过http://localhost/test/underline访问而非http://localhost/test_underline,这点你可以查看生成的mok_jk.conf的得到,这个是因为tomcat自动将应用目录中的下划线替换为/,可以通过tomcat的启动信息得到这个特性。

     

    本文为基本配置,如果你需要获得更灵活的配置,请参考apache和tomcat的配置说明。


    最新回复(0)