Apache2.2與Tomcat7整合方案詳解
原文地址:http://my.oschina.net/u/919173/blog/159206
------------------------------------
首先談一下為什麼要整合Apache和tomcat7?
Apache是當前使用最為廣泛的WWW伺服器軟體,具有相當強大的靜態HTML處理的能力。 Tomcat伺服器是一個免費的開放原始碼的Web應用伺服器,Tomcat和IIS、Apache等Web伺服器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的預設模式。但是其處理靜態HTML頁面的能力肯定和Apache和IIS這種專業級別的伺服器沒法比。因此取兩者之長避兩者之短,將兩者進行進行整合達到有點最大化的效果。
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">)
2.安裝tomcat7。其實沒什麼好安裝的,下載下來的都是綠化包,直接解壓就可以使用.測試一下:http://localhost:8080 是不是看見一隻小貓咪啊?其實我覺得他像一隻小老虎。
3.下載整合外掛mod_jk.so。具體在哪兒下載呢?http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/ 網址老是變化,具體你就在tomcat官網左側有個tomcat connectors哪兒慢慢找吧。下載後解壓找到mod_jk.so放在apache安裝目錄下的modules資料夾下,裡面是不是有很多的.so檔案呢,沒錯就是這裡啦。
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
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
#負載平衡因數
6.測試一下啦。啟動apache和tomcat然後在瀏覽器中輸入:http://localhost:8001,這是你會發現我們又看到了那隻小老虎(注意我們輸入的地址是在訪問apache不是在訪問tomcat,訪問tomcat的地址是:http://localhost:8080)。但是我們的apache的htdocs資料夾下沒有這個小老虎的頁面呀,這是因為我們整合成功啦。我們在訪問.jsp頁面的時候,apache會根據請求然後來判斷請求頁面的型別,當發現是.jsp頁面的時候,mod_jk外掛就會將請求轉達給了tomcat,這時候tomcat會負責處理請求,所以我們會看到了webapps下的那隻小老虎。
相關文章
- ThinkPHP與UCenter整合詳解PHP
- Maven-Maven整合的tomcat7外掛MavenTomcat
- ssm整合詳解SSM
- 前端整合解決方案前端
- Swagger 與 Spring Boot REST API 整合詳解SwaggerSpring BootRESTAPI
- AngularJS與RequireJS整合方案AngularJSUI
- 企業如何資料整合?資料整合解決方案
- springboot整合redis詳解Spring BootRedis
- 從整合角度分析PLM解決方案
- 暢捷通T+資料整合到聚水潭的技術方案詳解
- SpringBoot註解最全詳解(整合超詳細版本)Spring Boot
- 企業雲報表整合解決方案
- PHP5.2以上版本及其IIS與Apache2.2的共存問題PHPApache
- 高併發解決方案詳解(9大常見解決方案)
- 詳解OEE,裝置實時資料管理與應用方案
- 詳解Nginx 13: Permission denied 解決方案Nginx
- 快取穿透詳解及解決方案快取穿透
- 圖片上傳方案詳解
- 校園IM即時通APP深度整合與定製開發解決方案APP
- 釘釘報銷資料與金蝶雲星空系統的整合解決方案
- Tungsten Fabric解決方案指南-Kubernetes整合
- 如何選擇HFM解決方案整合產品
- spring boot2整合ES詳解Spring Boot
- Spring 整合 Ehcache 管理快取詳解Spring快取
- Spring Boot 整合 FreeMarker 詳解案例Spring Boot
- Websocket:TomCat7 與 TomCat8的區別WebTomcat
- 圖解tomcat類載入機制(tomcat7)圖解Tomcat
- 詳解摩杜雲“雲遊戲解決方案”遊戲
- [詳解] VMware vCloud雲解決方案有些啥?Cloud
- SSH 連線慢的解決方案詳解
- Android官方多渠道方案詳解Android
- SpringBoot系列(六)整合thymeleaf詳解版Spring Boot
- 詳解在Android中整合高德定位功能Android
- Springboot 整合 Dubbo/ZooKeeper 詳解 SOA 案例Spring Boot
- Cookie與Session詳解CookieSession
- rowspan 與 colspan 詳解
- fork與vfork詳解
- Ubuntu下Eclipse無法新增Tomcat7解決方法UbuntuEclipseTomcat