程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Apache和Tomcat整合之道

Apache和Tomcat整合之道

編輯:關於JAVA

准備工作

1. 安裝Java, apache, tomcat並設置好環境變量

2. 這裡假設apache的安裝目錄為C:\Apache Group\Apache2,Tomcat的安裝目錄為C:\apache Group\Tomcat 5.0

3. 下載mod_jk,放在任意目錄下,這裡我放在C:\apache\ConnApaTom下

做完准備工作後就開始二者的整合

1. 在apache的httpd.conf中加入以下內容

# Load mod_jk moduleLoadModule jk_module ConnApaTom\mod_jk-1.2.8-apache-2.0.52.so# Declare the module for #AddModule mod_jk.c# Where to find workers.propertiesJkWorkersFile "C:\Apache Group\Apache2\ConnApaTom\workers.propertIEs"# Where to put jk logsJkLogFile "C:\Apache Group\apache2\ConnApaTom\mod_jk.log"# Set the jk log level [debug/error/info]JkLogLevel info# Select the log formatJkLogStampFormat "[%a %b %d %H:%M:%S %Y] "# JkOptions indicate to send SSL KEY SIZE, JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectorIEs# JkRequestLogFormat set the request format JkRequestLogFormat "%w %V %T"# Send servlet for context /examples to worker named worker1JkMount /*/servlet/ worker1 #(1)# Send JSPs for context /examples to worker named worker1JkMount /*.JSP worker1 #(2)JkUnMount /*.gif worker1JkUnMount /*.jpg worker1

2. 注意上面的(1),(2)句,後面再說。這裡先在C:\Apache Group\apache2\ConnApaTom下建立一個文件workers.propertIEs,內容如下

workers.tomcat_home="C:\apache Group\Tomcat 5.0" #讓mod_jk模塊知道Tomcatworkers.Java_home="C:\j2sdk1.4.2_08" #讓mod_jk模塊知道j2sdk#worker.list=worker1 #list of workers, more workers can be sperated by ','.When starting up, the web server plugin will instantiate the workers whose name appears in the worker.list property, these are also the workers to whom you can map requests.# entrIEs for worker1worker.worker1.type=ajp13 #類型worker.worker1.host=localhost #本機,若上面的apache主機不為localhost,作相應修改worker.worker1.port=8009 #工作端口,若沒占用則不用修改worker.worker1.lbfactor=1 #代理數,不用修改

3. 這裡我的文件的根目錄是D:\www,下面就通過修改apahe和tomcat的配置來實現在此目錄下靜態網頁由apache來處理,動態網頁由tomcat來處理:

為此首先要解決的是改變tomcat的根目錄,在tomcat5.0以上的做法與以前的版本不同,寫一個context片斷,放在$CATALINA_HOME/conf/[enginename]/[hostname]/ 下,這裡寫在下文件www.XML,其內容為,這裡就把tomcat的根目錄改到D:\www。對apache,其Documentroot也設為D:\www,(1)句JkMount /*.JSp worker1實現了將D:\www裡的*.JSP就交由tomcat來處理此時tomcat還不能對servlet進行處理,解決這個問題需要做三個方面的工作:a. 在apache的http.conf裡加入Alias語句,如在D:\www下建一個文件夾,servletPrg專門用來放servlet程序,#Alias, so the servlets can be send to tomcatAlias /servletProg/ "D:/www/servletProg/" AllowOverride None Options IncludesNoExec AddOutputFilter Includes Html AddHandler type-map var Order allow,deny Allow from all

b. 在http.conf裡加入:JkMount /*/servlet/* worker1,也就第(2)句

c. 在tomcat裡再寫一個context片斷,

這樣,apache就可以把servletPrg裡的servlet傳給Tomcat了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved