歡迎您光臨本站 註冊首頁

[整合] apache22的mod_proxy_ajp模組試用及apache22+php5+tomcat5快速安裝指南

apache22的mod_proxy_ajp模組試用及apache22+php5+tomcat5快速安裝指南

12/13/2005
Note:整個安裝是在5.3-RELEASE下完成的。但應該也適用於其他unix like平台。

一、準備工作:
1、先更新port,#cvsup -g -L 2 your-ports-supfile。
2、安裝JDK1.5
推薦使用JDK1.5p2(native方式),介紹FreeBSD下 JDK編譯的文章很多,本文不再贅述。安裝完成JDK后,別忘了設置環境變數JAVA_HOME。之後驗證JDK是否安裝正確。執行java –version,看輸出是否正確。

二、安裝
1、安裝tomcat
從port安裝即可。
2、安裝apache22
我的make參數如下:
make WITH_AUTH_MODULES=yes WITH_DAV_MODULES=yes WITH_LDAP_MODULES=yes WITH_MISC_MODULES=yes WIHT_PROXY_MODULES=yes WITH_SSL_MODULES=yes WITH_SUEXEC_MODULES=yes WITH_PROXY_MODULES="proxy proxy_http proxy_ajp proxy_balancer"
make install
make clean
安裝完成後,lynx localhost測試一下。確保安裝正確。
3、安裝php5
cd /usr/ports/lang/php5
make install clean

安裝其他需要的php擴展模組
cd /usr/ports/lang/php5-extension
make config
make
make install
make clean
編輯httpd.conf,增加如下行:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
4、配置mod_proxy_ajp
首先看一下httpd.conf中是否正確load了mod_proxy模組。如果沒有的話,重新編譯安裝apache22。mod_proxy_ajp的配置非常簡單。基於靈活性考慮,最好單獨在虛擬主機中配置。我的配置如下:
<VirtualHost *>
ServerName localhost
ProxyPass / ajp://localhost:8009/
#ProxyPass / http://localhost:8180/
ProxyPassReverse / ajp://localhost:8009/
#ProxyPassReverse / http://localhost:8180/
</VirtualHost>
說明:/表示把所有發往80埠的http訪問請求自動轉向到tomcat監聽的8080埠(FreeBSD port安裝的tomcat默認監聽8180埠)。lynx localhost,可以看到tomcat的welcome頁。說明安裝成功。
注意:由於/的設置把所有80埠的訪問都forward到了tomcat,所以這可能不是我們所希望的,這種情況下apache只是個轉發代理。一般情況下,我們希望apache同時能提供mod_perl、php功能。因此需要單獨為jsp的應用配置URI映射。 配置同樣很簡單ProxyPass /myapp ajp://localhost:8009/,ProxyPassReverse /myapp ajp://localhost:8009/即可。
可以看到,比起前代的mod_jk來講,mod_proxy_ajp非常簡單方便。mod_jk的配置簡直是一場噩夢。哈哈,還等什麼,快升級吧。

[ 本帖最後由 HonestQiao 於 2005-12-13 22:03 編輯 ]
《解決方案》

斑竹加個精吧, 目前沒看過有人貼過這個的~

看來, 其實mod_proxy_ajp就是增加了apache對ajp協議的通用url支持, 配置的可讀性大大提高了
《解決方案》

這是我看到的第一篇apache220的文章,謝謝

幾個問題討論一下
1. 編譯apache的時候,用的是make加參數,我編譯的時候是./configure --,有什麼區別嗎
2. ProxyPass / ajp://localhost:8009/
可以指向別的機器嗎?如
ProxyPass / ajp://othermachine:8009/
3. 從文中看來,php5是支持apache220的,請問php4支持嗎?

謝謝
《解決方案》

1. configure腳本可以達到make的效果,我編譯過
2. 肯定可以這樣寫,而且是實現同IP不同域名虛擬機的方法
3. 應該可以
《解決方案》

要是再能詳細點就經典了!!可以的話能不能把編譯的參數都說明一下,為什麼要這麼編譯.我這隻菜鳥會非常感激的!

還有為什麼要:



、先更新port,#cvsup -g -L 2 your-ports-supfile。


很菜 別笑我哦!

[ 本帖最後由 lazy_bug 於 2005-12-15 10:11 編輯 ]
《解決方案》

原帖由 jhsea3do 於 2005-12-14 11:26 發表
1. configure腳本可以達到make的效果,我編譯過
2. 肯定可以這樣寫,而且是實現同IP不同域名虛擬機的方法
3. 應該可以

感謝回復,但是如果實踐后再說,會對大家更有幫助:)
1. 大家一直用的是./configure,我想問的是make的區別
2. 有沒有哪位朋友試過?
3. 我試的結果是不行,所以才問的
《解決方案》

原帖由 bjchenxu 於 2005-12-15 14:32 發表


感謝回復,但是如果實踐后再說,會對大家更有幫助:)
1. 大家一直用的是./configure,我想問的是make的區別
2. 有沒有哪位朋友試過?
3. 我試的結果是不行,所以才問的


1. 執行configure腳本的目的包括了修改Makefile配置
2. 你自己可以試試,絕對可以
3. 我編譯了 apache22+php441, 沒有問題
《解決方案》

原帖由 lazy_bug 於 2005-12-15 10:03 發表
要是再能詳細點就經典了!!可以的話能不能把編譯的參數都說明一下,為什麼要這麼編譯.我這隻菜鳥會非常感激的!

還有為什麼要:



、先更新port,#cvsup -g -L 2 your-ports-supfile。


很菜 別笑我哦!

port 的步驟可能是BSD上所需要的,我不用BSD所以也沒有用port,直接tarball的
《解決方案》

我想問一下關於mod_proxy_ajp。
現在您這種寫法,只能是把某個目錄交給tomcat解析么?不能按照文件類型來?如果這樣的話,如果指定的目錄里有htm文件也是有apache請求tomcat,然後由apache返回請求結果?
《解決方案》

與其討論什麼不行,不如討論什麼才行。

[火星人 ] [整合] apache22的mod_proxy_ajp模組試用及apache22+php5+tomcat5快速安裝指南已經有228次圍觀

http://coctec.com/docs/service/show-post-29461.html