新手入門級别,自己搞了一下apache和tomcat的整合,
整理了一下筆記,希望能看到此筆記的人多多給予批評、糾正和優化。
1.據說做apache和tomcat整合的時候,版本号會影響到整合的成敗,但是筆者隻是在網上下載下傳的apache2.0
( httpd-2.0.64-win32-x86-no_ssl.msi
)版本,和apache-tomcat-7.0.26,jk用的是tomcat-connectors-1.2.37
(tomcat-connectors-1.2.37-windows-i386-httpd-2.0.x.zip)
環境是 windowxp下。
2.首先安裝apache和tomcat(最好安裝在同一個根目錄下),然後配置一下環境變量,具體步驟不做解釋,然後解壓縮jk連接配接器,隻要其中的mod_jk.so即可。
3.準備工作完成。
4.兩者之間的通信通過workers配置(由tomcat使用server.xml中的connector标簽定義端口port和協定protocol,workers.properties檔案中定義端口、協定、tomcat伺服器位址);由mod_jk子產品負責兩者通信的處理。通信協定用jk(隻是其中一種)。整個過程其實就是讓apache的httpd.conf檔案調用mod_jk.conf,mod_jk.conf調用workers.properties,最後配置虛拟主機。
5.打開apache下的conf目錄下的httpd.conf檔案,在檔案末尾加入include
"e:\apache\apache2\conf\mod_jk.conf"(指定mod_jk.conf檔案所在位置)。
6.編寫mod_jk.conf檔案
# load mod_jk module加載 mod_jk 子產品
loadmodule jk_module modules/mod_jk.so
# where to find workers.properties
jkworkersfile conf/workers.properties
# where to put jk logs
jklogfile logs/mod_jk.log
# set the jk log level [debug/error/info]
jkloglevel info
# select the log format
#jklogstampformat \"[%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 ajp13
#jkmount /servlet/* ajp13
# send jsps for context /examples to worker named ajp13
jkmount /*.jsp ajp13
jkmount /*.do ajp13
jkmount /*/*.do ajp13
jkmount /*.action ajp13
jkmount /*/*.action ajp13
#############################
namevirtualhost *:80
<virtualhost *:80>
serveradmin webmaster@localhost
documentroot "e:\apache-tomcat-7.0.26\webapps\examples"
servername localhost
errorlog logs/localhost-error_log
customlog logs/localhost-access_log common
</virtualhost>
serveradmin [email protected]
servername 127.0.0.1
errorlog logs/foresee.com-error_log
customlog logs/foresee.com-access_log common
<location /server-status> # 這樣我可以看到apache伺服器狀态
sethandler server-status
#order deny,allow
#deny from all
#allow from localhost
#allow from 192.168.5.80
</location>
7.将mod_jk.so檔案拷貝到apache下的 modules檔案夾内
8.在apache下的conf檔案夾内再建立workers.properties檔案,配置如下内容
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost #本機,若上面tomcat主機不為localhost,作相應修改
worker.ajp13.type=ajp13 #類型
worker.ajp13.lbfactor=1 #代理數,不用修改
9.打開tomcat,在conf檔案夾下找到server.xml檔案,進行虛拟主機配置:
找到<host name="localhost" appbase="webapps" unpackwars="true" autodeploy="true">
增加<context path="" docbase="examples" />
<host name="www.myself.com" appbase="webapps" unpackwars="true" autodeploy="true" xmlvalidation="false" xmlnamespaceaware="false">
<context path="" docbase="examples" />
</host>
10.補充說明:
www.myself.com"-----------要在本地配置哦....windows---system32----drivers----host
docbase="examples"------你要通路的web工程
mod_jk.so ---------------------解壓縮jk的壓縮包就可以找到這個檔案
servername 127.0.0.1-----伺服器的所在位址
jklogfile logs/mod_jk.log-------jk的日志檔案存放位置
11.以上完成了apache和tomcat的整合工作。儲存所有改動的檔案,然後重新啟動tomcat和apache,通路
localhost localhost:8080
如果出現的是同一個位址,那麼證明配置成功。