首先談一下爲何要集成Apache和tomcat7? html
Apache是當前使用最爲普遍的WWW服務器軟件,具備至關強大的靜態HTML處理的能力。 Tomcat服務器是一個免費的開放源代碼的Web應用服務器,Tomcat和IIS、Apache等Web服務器同樣,具備處理HTML頁面的功能,另外它仍是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認模式。可是其處理靜態HTML頁面的能力確定和Apache和IIS這種專業級別的服務器無法比。所以取二者之長避二者之短,將二者進行進行整合達到有點最大化的效果。 java
1.安裝Apache2.2。 特別說一下這裏會提示輸入域名之類的窗口,我這裏所有填的localhost.端口的話默認的是80,可是這個端口某些時候可能會被佔用,因此我在這裏改爲了8001(在配置文件httpd.conf裏也能夠修改,具體修改地方爲:Listen 8001 修改成指定的端口號)。安裝完成後啓動服務名爲Apache2.2的服務後,在網址裏輸入:http://localhost:8001,會顯示出一個測試的頁面:It works! (這個頁面放在哪裏呢?能夠看下C:\Program Files\Apache Software Foundation\Apache2.2這個目錄下是否是有個htdocs文件夾,下面是否是有個index.html.之後咱們的頁面就要放在這個裏面。固然你也能夠本身定義放在哪裏,我在這裏就改爲了本身建立的WebSite文件夾,而後必需要在httpd.conf裏指定爲你建立的這個文件夾。配置的地方有2處,看個人配置信息:<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/WebSite">) web
2.安裝tomcat7。其實沒什麼好安裝的,下載下來的都是綠化包,直接解壓就可使用.測試一下:http://localhost:8080 是否是看見一隻小貓咪啊?其實我以爲他像一隻小老虎。 apache
3.下載整合插件mod_jk.so。具體在哪兒下載呢?http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/ 網址總是變化,具體你就在tomcat官網左側有個tomcat connectors哪兒慢慢找吧。下載後解壓找到mod_jk.so放在apache安裝目錄下的modules文件夾下,裏面是否是有不少的.so文件呢,沒錯就是這裏啦。 windows
4.在httpd.conf裏配置信息。 瀏覽器
# 設置虛擬主機,定義端口爲8001,這個和你在前面配置Listen 8001的端口必定是要同樣的哦
<VirtualHost 127.0.0.1:8001>
ServerName 127.0.0.1
#定義服務名稱
DocumentRoot "C:/Program Files/Apache Software Foundation/tomcat7/webapps"
#定義站點項目所在路徑,把路徑指向 tomcat 中的默認網站目錄
DirectoryIndex index.html index.htm index.jsp
ErrorLog logs/shsc-error_log.txt
CustomLog logs/shsc-access_log.txt common
#例子1,讓 Apache 支持對webapps/sun.shop/blog 中頁面傳送
JkMount /sun.shop/blog/* config1
#例子2,向Apache請求此文件夾內頁面時,系統將轉向用Tomcat解析
JkMount /*.jsp config1
#例子3,向 Apache 請求jsp頁面時,用 Tomcat 進行解析
JkMount /*.do config1
#例子4,向 Apache 請求.do 動做時, 用 Tomcat 進行解析
JkMount /*.action config1
#例子5,向 Apache 請求 .action 動做時, 用 Tomcat 進行解析
</VirtualHost>
# 容許客戶端訪問此路徑
<Directory "C:/Program Files/Apache Software Foundation/tomcat7/webapps">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
LoadModule jk_module modules/mod_jk.so
# 此處 mod_jk.so 文件爲你下載的文件
JkWorkersFile "C:/Program Files/Apache Software Foundation/tomcat7/conf/workers.properties"
# 指定tomcat監聽配置文件地址
JkLogFile "C:/Program Files/Apache Software Foundation/tomcat7/logs/mod_jk2.log"
# 指定日誌存放位置
JkLogLevel info tomcat
5.配置tomcat的conf文件夾下添加workers.properties.具體添加以下內容,本身根據需求修改。 服務器
workers.tomcat_home=C:\Program Files\Apache Software Foundation\tomcat7
#讓 mod_jk 模塊感知 Tomcat
workers.java_home=C:\Program Files\Java\jdk1.7.0_09\jre
#讓 mod_jk 模塊感知 jre
ps=\
#指定文件路徑分割符
worker.list=config1
worker.config1.port=8009
#工做端口,此端口應該與server.xml中Connector元素的 AJP/1.3 協議所使用的端口相匹配
worker.config1.host=localhost
#Tomcat服務器的地址
worker.config1.type=ajp13
#類型
worker.config1.lbfactor=1
#負載平衡因數 app
6.測試一下啦。啓動apache和tomcat而後在瀏覽器中輸入:http://localhost:8001,這是你會發現咱們又看到了那隻小老虎(注意咱們輸入的地址是在訪問apache不是在訪問tomcat,訪問tomcat的地址是:http://localhost:8080)。可是咱們的apache的htdocs文件夾下沒有這個小老虎的頁面呀,這是由於咱們集成成功啦。咱們在訪問.jsp頁面的時候,apache會根據請求而後來判斷請求頁面的類型,當發現是.jsp頁面的時候,mod_jk插件就會將請求轉達給了tomcat,這時候tomcat會負責處理請求,因此咱們會看到了webapps下的那隻小老虎。 webapp
所需工具打包下載:http://pan.baidu.com/share/link?shareid=507362694&uk=2937351404
若有疑問隨時歡迎EmailToMe: junkedeng@163.com