Apache和Tomcat整合之道

發表于:2007-07-01來源:作者:點擊數: 標簽:
準備工作 1. 安裝 java , apache, tomcat 并設置好環境變量 2. 這里假設apache的安裝目錄為C:\Apache Group\Apache2, Tomcat 的安裝目錄為C:\Apache Group\Tomcat 5.0 3. 下載mod_jk,放在任意目錄下,這里我放在C:\apache\ConnApaTom下 做完準備工作后就開

準備工作

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 <IfModule directive>#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,其內容為<Context path="" docBase="D:\www"></Context>,這里就把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/"<Directory "D:/www/servletPro"> AllowOverride None Options IncludesNoExec AddOutputFilter Includes html AddHandler type-map var Order allow,deny Allow from all </Directory>

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

c. 在tomcat里再寫一個context片斷,<Context path="/servletProg" docBase="D:\www ervletProg" reloadable="true" debug="0"></Context>

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

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97