天天看點

apache + tomcat 整合 + tomcat叢集 session共享

新手入門級别,自己搞了一下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   

如果出現的是同一個位址,那麼證明配置成功。