分享

整合tomcat与apache的一点心得 - 踏月远航||kevin‘s blog

 accesine 2005-08-16
       前几天在网上看到了关于web服务器优劣的比较,知道了Tomcat服务器作为基本WEB服务器其能力比起Apache还是有较大差距的,从性能上来说, Tomcat处理jsp页面是比较优秀的,但是对基本的WEB页面处理比较滞后,很多时候并不能满足实际应用的需要,所以我决定将基本WEB服务器及 JSP应用服务器分离,各自处理各自的页面,做到最大程度的页面显示与业务逻辑的分离,同时获得最大的效能利用率。
       首先要有以下工具:Tomcat5.0.28(或更新版本)  http://jakarta./tomcat/
                                           Apache 2.0.54(或更新版本) http://httpd./
                                           Mod_JK  连接器(对应Apache版本)  http://apache./dist/jakarta/tomcat-connectors/jk/binaries/win32/
                                           J2SDK 1.4.2(或更高版本)  https://jsecom15a./ECom/EComActionServlet;jsessionid=F167D274AB6EC7E635D1EAA270C78102
        接着安装这些工具,先安装J2SDK,接着是Tomcat和Apache,最后把下回来的Mod_JK的so文件改名为mod_JK.so(也可以不改,就是名字长点),放入Apache安装目录的modules目录下面。
       然后很重要的一步就是环境变量设置,很多初学者出的问题都跟环境变量没有配置好有很大关系。
                      1.配置J2SDK的环境变量({}内部分按照实际情况更改,下同)
                               JAVA_HOME={J2SDK_InstallHome};
                               path={J2SDK_InstallHome}\bin;(一般这个环境变量已存在,那就直接在后面加上就可以了,用‘;’分隔)
                               CLASSPATH=.;{J2SDK_InstallHome}\lib;{J2SDK_InstallHome}\jre\lib;(一般这些就够了,你还想加,也可以额外加上)
                      2.配置Tomcat的环境变量
                              TOMCAT_HOME={TOMCAT_InstallHome};
                               CLASSPATH={TOMCAT_InstallHome}\common\lib;(直接在后面添加)
       后面就进入实质性的配置了。首先进入Apache目录,找到conf目录下面的httpd.conf文件,在最后面添加
LoadModule jk_module modules/mod_jk.so

JkWorkersFile "F:/Application/Tomcat/conf/workers.properties"
JkMount  /servlet/*  ajp13 
JkMount  /manager/*  ajp13 
JkMount  /manager  ajp13 
JkMount  /admin/*  ajp13 
JkMount  /admin  ajp13 
JkMount  /balancer/*  ajp13 
JkMount  /balancer  ajp13
JkMount  /*.jsp  ajp13(有其他目录的项目可以在这里设置别名)

然后找到DirectoryIndex这一行,在这一行添加index.jsp(以空格间隔)

接着(有虚拟主机的也可以在这里设置,详见Apache文档,不在讨论之列)进入Tomcat目录的conf目录,新建一个workers.properties文件,往里面写入如下内容:
# 这现行根据安装目录做修改
workers.tomcat_home=F:\Application\Tomcat
workers.java_home=F:\Application\JavaSDK
ps=\
# worker.list=ajp13
worker.list=ajp12,ajp13

worker.ajp12.port=8007
worker.ajp12.host=localhost
worker.ajp12.type=ajp12
worker.ajp12.lbfactor=1
           
worker.ajp13.port=8009       
worker.ajp13.host=localhost    
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1

worker.loadbalancer.type=lb

worker.loadbalancer.balanced_workers=ajp12, ajp13
worker.inprocess.type=jni
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)classes
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)jaxp.jar

worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)parser.jar

worker.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)jasper.jar

worker.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)servlet.jar

worker.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)webserver.jar

worker.inprocess.class_path=$(workers.java_home)$(ps)lib$(ps)tools.jar

worker.inprocess.cmd_line=-config

worker.inprocess.cmd_line=$(workers.tomcat_home)/conf/jni_server.xml

worker.inprocess.cmd_line=-home

worker.inprocess.cmd_line=$(workers.tomcat_home)

worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)jvm.dll


worker.inprocess.stdout=$(workers.tomcat_home)$(ps)inprocess.stdout

worker.inprocess.stderr=$(workers.tomcat_home)$(ps)inprocess.stderr

worker.inprocess.sysprops=tomcat.home=$(workers.tomcat_home)

以上配置依据默认设置,若有个别地方更改需要参照相应文档说明。
这样一来,基本web页就交由Apache处理,而jsp页则自动由Tomcat处理,效率提高不少。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多