上周末按一個朋友的要求,寫一個整合Tomcat-5.5.4與apache-2.0.49的文檔。很久沒用Apache了,在家用了一兩個小時才在自己的XP下配成功,簡單整理了一個文檔貼出來,與需要的人共享。我開始是在 apache 的conf 文件夾里建了一個mod_jk2.conf個文件,用JkSet config.file ***語句指到TOMCAT_HOME\conf\workers2.properties, 無論如何都不成功,最后就直接把workers2.properties拷到apache 的 conf 文件夾里就OK了。具體步驟如下:
1、假設Apache2安裝在 C:\Program Files\Apache Group\Apache2, 上Apache網站下載jakarta-tomcat-connectors-jk2.0.4-win32-apache2.0.49.zip , 解壓后將modules\mod_jk2.so拷貝到C:\Program Files\Apache Group\Apache2\modules里面。
2、 在C:\Program Files\Apache Group\Apache2\httpd.conf中設置Dynamic Shared Object (DSO) Support的那塊區域里增加一行:
LoadModule jk2_module modules/mod_jk2.so
3、修改 Tomcat-5.5.4 HOME\conf\ 下的配置文件, 編輯jk2.properties,修改handler.list的值,要注意端口channelSocket.port設置的值,默認是8019,改成8009, 這樣改各個配置文件的改動量最小。
# Set the desired handler list
# handler.list=apr,request,channelJni
handler.list=channelSocket,request
#,
# Override the default port for the socketChannel
channelSocket.port=8009
4、將 Tomcat-5.5.4 HOME \conf\ 下的workers2.properties 拷貝到 C:\Program Files\Apache Group\Apache2\conf 中,然后修改workers2.properties 內容:
[logger.apache2]
level=INFO
[shm]
file=C:\\apache\\Apache2\\logs\\shm.file
size=1048576
[channel.socket:localhost:8009]
port=8009
host=localhost
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009
[uri:/*]
worker=ajp13:localhost:8009
要進一步設置的,修改[uri:/*],比如改為[uri:/*.jsp]。當然這樣記住要先將Apache的默認目錄指到tomcat下的對應的應用. 此外[uri:/*] 這部分可以設置多個。
5、重新啟動apache、tomcat, 訪問apache的地址http://localhost/和tomcat的地址http://localhost:****/ ,如果看到一樣的東西,應該就可以了。
6、配Apache的默認目錄或虛擬主機,指到要用Apache來顯示的目錄里面去;網上很多,Apache本身的文檔說的也比較清楚,就不詳細說了。
7、如果是 Linux 平臺的話,Apache 必須要在編譯的時候加上選項,使其能動態的加載DSO模塊,大概的步驟就是下載Apache源文件 ,然后依次執行:
#cd /usr/local/src/ ( /usr/local/src/ 就是保存安裝源文件的文件夾 )
#tar -xzvf httpd-2.0.49.tar.gz
#cd httpd-2.0.49
#./configure --prefix=/usr/local/apache2 --enable-so (-enable-so 這個選項最重要,一定要加上 )
#make
#make install
后來的步驟和windows下應該是一樣的(那個so文件應該也可以在linux用),linux下面我這次沒有試,不過思路和步驟應該差不多就是這樣,俺以前配過。