前几天在网上看到了关于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处理,效率提高不少。 |
|