Apache的HTTPD是目前比較受歡迎的網站服務器軟件,它不但功能強大,並且徹底免費,而且支持市場上流行的各類操做系統(Windows,Linux,Mac os)。同時對於Java Servlet/JSP的支持,一般也會使用一樣Apache出品的Tomcat。
Tomcat除了支持Java Servlet/JSP以外,也能夠當作網站服務器使用,可是在對於靜態的html文件、圖片文件等的解析效率上不如Apache HTTPD的執行效率高。應用tomcat的服務器若是網站的訪問量較大,系統資源佔用會明顯升高,近日筆者在項目執行過程當中遇到這一問題,便也想到同時應用tomcat+apache服務。Apache負責靜態資源處理,tomcat負責jsp和java servlet等動態資源的處理。在網上看了很多介紹Apache和Tomcat集成的帖子。大多爲互相轉貼,有幾個關鍵問題沒有講清楚,而且多數文章講解中所舉的軟件版本都已經比較老舊。於是筆者總結本身實際操做的經驗,但願對你們有所幫助。
準備工做:
1、 apache 2.0.55
下載地址:http://apache.justdn.org/httpd/binaries/win32/apache_2.0.55-win32-x86-no_ssl.msi
2、 Tomcat 5.5
下載地址:http://tomcat.apache.org/download-55.cgi
3、 JRE1.5.0 update6
下載地址:http://java.sun.com/j2se/1.5.0/download.jsp
你也能夠選擇安裝JDK,JDK不只包含了運行java應用程序的支持,同時也包含J2SE的開發包。但若是您只是應用的話,我建議您僅下載JRE便可,爲何?由於它小啊:)
4、JK-apache-2.0.55
下載地址:
http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.15/mod_jk-apache-2.0.55.so
注意jk的版本必定要與你的apache版本相同。Jk下載能夠直接到apache.org官網下載,有多種版本,適用於各類操做系統,地址以下:
http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/
windows用戶進入win32目錄,不一樣的tomcat對應不一樣jk文件擴展名不一樣,有多是*.dll,或者*.so,根據你的tomcat版本下載合適的jk版本。
安裝,軟件的安裝順序能夠適當調整,可是jre(jdk)必定要在tomcat以前安裝:
1、安裝JRE(JDK)
此處選擇默認安裝便可,(舊版本的JDK安裝完以後須要設置系統的環境變量,JRE和JDK1.5.0之後版本不設置也不要緊。)安裝完成以後你能夠選擇按照下面的示例設置你的系統環境變量:個人電腦->右鍵屬性->常規->高級->環境變量
JAVA_HOME = d:\Java\jre1.5.0_06
CLASSPATH = .;d:\Java\jre1.5.0_06\lib\dt.jar;d:\Java\jre1.5.0_06\lib\tools.jar
PATH = d:\Java\jre1.5.0_06\bin
注意文件路徑要改爲你實際安裝的路徑。
2、Apache安裝
此處注意,若是你本機已經裝了iis而且佔用80端口,務必先在服務中將iis中止或禁用。軟件默認安裝便可。安裝過程當中設置Network Domain和Server Name爲localhost,設置你的email地址,下方會讓你選擇only for the current user或for all users。默認選擇for all users。這樣Apache就會佔用80端口,而且作爲一個系統服務開機自運行。
安裝完成以後,你在瀏覽器中輸入http://localhost,將會看到Apache的成功頁面.Apache的主目錄是d:\Apache\Apache2,此時Apache,已經運行,你能夠在窗口的托盤看到他的圖標,雙擊圖標,在彈開的窗口選擇"Open Apache Monitor",點Stop,中止Apaceh服務,由於下面要安裝Tomcat和JK.
3、Tomcat安裝
選擇安裝目錄爲了d:\Tomcat,其他爲默認安裝.成功後在瀏覽器中輸入http://localhost:8080,出現Tomcat頁面表示安裝成功了。關於tomcat的設置已經有不少很是詳細的文章,在此就再也不詳述了。
4、JK的安裝
把mod_jk_2.0.55.so拷貝到d:\Apache\Apache2\modules\下.
以上安裝所有完成後,打開cmd命令提示符,運行d:\Apache\Apache2\bin\Apache.exe -t 你將會看到"Syntax OK",表示Apache配置正常.這個命令很是有用,下面在繼續配置Apache的時候還會再次用到。
配置服務器:
1、配置Tomcat
查找目錄下的conf/workers.properties文件,並對比下方文本內容,若有不一樣如下方內容爲準修改。
workers.tomcat_home=d:\Tomcat #讓mod_jk模塊知道Tomcat的位置
workers.java_home=d:\Java\jre1.5.0_06 #讓mod_jk模塊知道jre的位置
ps=\
worker.list=ajp13 #模塊版本
worker.ajp13.port=8009 #工做端口,若沒佔用則不用修改
worker.ajp13.host=localhost #本機,若上面的Apache主機不爲localhost,做相應修改
worker.ajp13.type=ajp13 #類型
worker.ajp13.lbfactor=1 #代理數,不用修改
若是文件不存在則建立。並填充上述內容。
2、配置Apache
打開d:\Apache\Apache2\conf下的httpd.conf,在最後加入下面這段代碼並保存。
#設置Apache與Tomcat之間的鏈接,讓Apache遇到jsp文件時,在後臺將其交由Tomcat去處理
LoadModule jk_module modules/mod_jk_2.0.55.so
#此處mod_jk的文件爲你下載的文件
JkWorkersFile "d:/Tomcat/conf/workers.properties"
#指定tomcat監聽配置文件地址
JkLogFile "d:/Tomcat/logs/mod_jk2.log"
#指定日誌存放位置
JkLogLevel info
#設置虛擬主機
<VirtualHost localhost>
ServerAdmin localhost
DocumentRoot d:/test1
#您的站點項目所在路徑,應與tomcat中的目錄設置相同
ServerName localhost
DirectoryIndex index.html index.htm index.jsp
ErrorLog logs/shsc-error_log.txt
CustomLog logs/shsc-access_log.txt common
JkMount /servlet/* ajp13
#讓Apache支持對servlet傳送,用以Tomcat解析
JkMount /*.jsp ajp13
#讓Apache支持對jsp傳送,用以Tomcat解析
JkMount /*.do ajp13
#讓Apache支持對.do傳送,用以Tomcat解析
</VirtualHost>
#開頭的行爲註釋,能夠刪除。此處的配置我是以設置虛擬目錄,從新指定了serverName,DocumentRoot路徑的方式配置站點,實際上,Apache的配置能夠很是靈活,你也能夠不採用虛擬目錄的方式,而直接去修改站點的默認配置,使用任意文本編輯工具,搜索如ServerName,DocumentRoot,ServerAdmin等相關項,而後將該項的配置根據你的實際狀況進行修改便可。我建議你們能夠多多嘗試不一樣的配置,這是一種頗有樂趣的體驗。
全部的修改完成這後,再次執行d:\Apache\Apache2\bin\Apache.exe -t 若是看到"Syntax OK",說明你全部配置無誤,雙擊窗口的托盤中的圖標,而後點擊Start運行。
在地址欄中分別輸入http://localhost/,與http://localhost:8080/若結果相同,Apache與Tomcat整合成功
html