環境 Ubuntu Server預設安裝選擇的Tomcat6 Apache2 ,都能單獨順利運行,為了實現URL重寫,所以要整合兩個軟體。
由於當初是系統預設安裝的,設定伺服器的時候就遇到過很多問題,包括環境變數等,所以今後安裝一定不能偷懶了……
整合前提是環境變數設定好,Tomcat6工作8080連接埠下,Apache2工作在80連接埠下。
網路上有很多教程都是講JK模組的,多次嘗試後仍然失敗,Apache下讀取JSP為源碼,未把JSP交給Tomcat執行,整合失敗,考慮原因或許和版本以及現有的安裝方式有關,因為並不熟悉Linux相關內容,放棄這個方法……
還有兩個方法講得少,但比較簡單,都用到了Mod,MOD_PROXY 和 MOD_AJP,兩種方法類似,後者與JK用到了相同的內容,我採用了前者,所需要的模組都可以Apt-get安裝,Apache2的設定檔都會包含這些模組,所以無需特別設定。
接著在預設的虛擬機器主機設定檔下設定虛擬機器主機
<VirtualHost www.linuxidc.com>
ServerName www.linuxidc.com
ServerAdmin admin@linuxidc.com
DocumentRoot /var/lib/tomcat6/webapps/ROOT
DirectoryIndex index.html index.jsp
ProxyPass /js !
ProxyPass /images !
ProxyPass /css !
ProxyPass /phpmyadmin !
ProxyPass / http://127.0.0.1:8080/
<Directory /var/lib/tomcat6/webapps/ROOT>
Options Indexes FollowSymlinks
AllowOverride None
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
ProxyPass是這裡的關鍵,我寫了五條,前四條是為了排除這些目錄,以便讓Apache處理(效率比Tomcat高,另外還有php程式),最後條就是讓目錄下所以檔案都轉向8080連接埠的Tomcat處理,其實主要就是JSP檔案了!
另外還要配置好Tomcat的server.xml
的網站
其原理就是建立了一個代理機制,讓訪問Apache轉向Tomcat,這樣就完成了一次簡單的整合,相比JK 來說操作簡單,僅適用於Apache 2.2以上,傳說穩定性不如JK,也就是不夠成熟,或許這已經是過去了,有待考證……
雖然剛才我估摸是因為自己伺服器配置問題造成JK不能使用,也有網路不推薦JK在Apache2下使用,但相關內容也少的可憐
如果Tomcat有Apache那麼強大,那就不用這麼麻煩了……