2010年6月21日 星期一

Apache HTTP Server與Tomcat整合

前言

有的時候我們需要在同一台主機上架設PHP與JSP伺服器端程式,但註冊的網址(網域名)只有一個,要怎麼做才能夠達到目的呢?這時候我們可以使用簡單的Apache HTTP Server轉址模組來達成。

本文適用環境
JDK version:1.6.x
Tomcat version:6.x
Apache Http Server 2.2.x

步驟與說明

假設我們註冊的網址是http://www.mywebsite.org,那麼我們希望在網址列輸入該網址後伺服器將進入php環境中,但若是在網址後方加上/Jproject則進入Tomcat環境中執行JSP程式(如:http://www.mywebsite.org/Jpproject),那麼以下三個步驟將能如願。

  • Step1:將Apache伺服器中的設定檔打開(conf/httpd.conf),並把文件中如下兩行前面的註解#拿掉

       #LoadModule proxy_module modules/mod_proxy.so
       #LoadModule proxy_http_module modules/mod_proxy_http.so
  • Step2:在同一設定文件中(conf/httpd.conf)加上如下兩行字串

     ProxyPass /[app1] http://[tomcat_address]:port/[url]
     ProxyPassReverse /[app1] http://[tomcat_address]:port/[url]
  • Step3:其中,[tomcat_address]為tomcat伺服器位址,[url]則是檔案路徑,[app1]則是轉址關鍵字

Example:以本文中範例來說明,Step2中的字串應該是這樣的

 ProxyPass /Jproject http://www.mywebsite.org:8080/index.jsp
 ProxyPassReverse /Jproject http://www.mywebsite.org:8080/index.jsp

從上面的範例可以看到,事實上,我們就算php與jsp環境是架設在不同的伺服器上也是可行的,另外也可以指定接受轉址的jsp檔案,而並非一定是index.jsp。當然了,port 也是根據實際需要去做變動。

沒有留言:

張貼留言