這裡先講一下整合的好處,
(1) Apache有很多mod,這些mod提供了豐富的web功能,例如,可以解決多個網域名稱對應同一個ip地址,彌補了Tomcat的Web伺服器功能較少的缺點
(2) Apache在快速響應上比其他的web伺服器佔優勢。
(3) Apache在靜態頁面的解析上速度比較快
(4) Apache在穩定性方面也表現不俗
(5) Tomcat具有servlet容器,可以支援servlet和jsp,能夠很好產生動態網頁面
(6) Tomcat 的最新版本7.0還支援html5 中新特性websocket,這可以使聊天變得更簡單,更快捷。
(7) Tomcat的支援靜態頁面效率不如apache,穩定性都不如apache,但是兩者結合,可以優勢互補。
下面開始講如何整合?
需要的軟體:
tomcat 7.0 :http://tomcat.apache.org/download-70.cgi
jdk 7 :http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u4-downloads-1591156.html
apache 2.2 :http://httpd.apache.org/download.cgi#apache22
mod_jk :http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.26/
注意:這裡的mod_jk版本一定要對應apache的版本
1、安裝jdk (我安裝在D:\Program Files\Java)
2、安裝tomcat (我安裝在D:\Program Files\Apache Software Foundation\Tomcat 7.0)
3、安裝apache (我安裝在D:\Apache2.2)
在安裝的過程中,
servername 127.0.0.1
4、
apache的配置
在開啟安裝apache目錄下的conf中的httpd.conf,
在其中加入以下內容:
LoadModule jk_module modules/mod_jk.so
#此處mod_jk的檔案為你下載的檔案
JkWorkersFile "D:/Program Files/Apache Software Foundation/Tomcat 7.0/conf/workers.properties"
#指定tomcat監聽設定檔地址
JkLogFile "D:/Program Files/Apache Software Foundation/Tomcat 7.0/logs/mod_jk2.log"
#指定日誌存放位置
JkLogLevel info
#設定虛擬機器主機
<VirtualHost localhost>
ServerAdmin localhost
DocumentRoot "D:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps"
#您的網站項目所在路徑,應與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 /*.action ajp13
#讓Apache支援對.action傳送,用以Tomcat解析
</VirtualHost>
在tomcat下conf中無workers.properties,建立檔案,
在其中加入以下內容:
workers.tomcat_home=D:\Program Files\Apache Software Foundation\Tomcat 7.0
#讓mod_jk模組知道Tomcat的位置
workers.java_home=D:\Program Files\Java\jre7
#讓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
#代理數,不用修改
另外在配置的過程中,可以時刻觀察配置的是否正確,
在windows下,開啟cmd,進入到apache中的bin目錄,運行 httpd.exe -t,
如果結果是 Syntax OK,就說明配置文法無錯。
之後觀看http://localhost/和http://localhost:8080/兩個頁面,如果是同一頁面,可說明整合成功。
當然如果發現,不行,而出現
、
則需要,將httpd.conf的directory,
改為:
<Directory />
Options FollowSymLinks
AllowOverride None
### Order deny,allow
### Deny from all
Order allow,deny
Allow from all
Satisfy all
</Directory>
即可。
參考文章:
http://www.zhuoda.org/lunzi/96705.html