前幾天在網(wǎng)上看到了關(guān)于web服務(wù)器優(yōu)劣的比較,知道了Tomcat服務(wù)器作為基本W(wǎng)EB服務(wù)器其能力比起Apache還是有較大差距的,從性能上來說, Tomcat處理jsp頁面是比較優(yōu)秀的,但是對基本的WEB頁面處理比較滯后,很多時(shí)候并不能滿足實(shí)際應(yīng)用的需要,所以我決定將基本W(wǎng)EB服務(wù)器及 JSP應(yīng)用服務(wù)器分離,各自處理各自的頁面,做到最大程度的頁面顯示與業(yè)務(wù)邏輯的分離,同時(shí)獲得最大的效能利用率。
首先要有以下工具:Tomcat5.0.28(或更新版本) http://jakarta./tomcat/ Apache 2.0.54(或更新版本) http://httpd./ Mod_JK 連接器(對應(yīng)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(也可以不改,就是名字長點(diǎn)),放入Apache安裝目錄的modules目錄下面。 然后很重要的一步就是環(huán)境變量設(shè)置,很多初學(xué)者出的問題都跟環(huán)境變量沒有配置好有很大關(guān)系。 1.配置J2SDK的環(huán)境變量({}內(nèi)部分按照實(shí)際情況更改,下同) JAVA_HOME={J2SDK_InstallHome}; path={J2SDK_InstallHome}\bin;(一般這個(gè)環(huán)境變量已存在,那就直接在后面加上就可以了,用‘;’分隔) CLASSPATH=.;{J2SDK_InstallHome}\lib;{J2SDK_InstallHome}\jre\lib;(一般這些就夠了,你還想加,也可以額外加上) 2.配置Tomcat的環(huán)境變量 TOMCAT_HOME={TOMCAT_InstallHome}; CLASSPATH={TOMCAT_InstallHome}\common\lib;(直接在后面添加) 后面就進(jìn)入實(shí)質(zhì)性的配置了。首先進(jìn)入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(有其他目錄的項(xiàng)目可以在這里設(shè)置別名) 然后找到DirectoryIndex這一行,在這一行添加index.jsp(以空格間隔) 接著(有虛擬主機(jī)的也可以在這里設(shè)置,詳見Apache文檔,不在討論之列)進(jìn)入Tomcat目錄的conf目錄,新建一個(gè)workers.properties文件,往里面寫入如下內(nèi)容: # 這現(xiàn)行根據(jù)安裝目錄做修改 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) 以上配置依據(jù)默認(rèn)設(shè)置,若有個(gè)別地方更改需要參照相應(yīng)文檔說明。 這樣一來,基本web頁就交由Apache處理,而jsp頁則自動(dòng)由Tomcat處理,效率提高不少。 |
|