Apache http Server与Tomcat整合 2
轉 : http://www.diybl.com/course/3_program/java/javashl/2008124/152938.html
既然 Tomcat 本身已經可以提供這樣的服務,我們為什么還要引入 Apache 或者其他的一些專門的 HTTP 服務器呢?原因有下面幾個:
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等動態資源的處理。
整合之后的好處是:
1. 提升對靜態文件的處理性能
2. 利用 Web 服務器來做負載均衡以及容錯
3. 無縫的升級應用程序
?
原理:
tomcat 為一個servelet容器,apache為一個web server,兩者之間通信通過mod_jk的模塊(由web服務器像apache、iis等使用)和Web Server通信,Tomcat 默認的 AJP Connector 的端口是 8009.整個過程其實就是讓apache的httpd.conf文件調用mod_jk.conf,mod_jk.conf調用workers.properties,最后配置虛擬主機。
文件說明 :
mod_jk.conf
主要定義mod_jk模塊的位置以及mod_jk模塊的連接日志設置,還有定義worker.properties文件的位置。
worker.properties
定義worker的參數,主要是連接tomcat主機的地址和端口信息。如果Tomcat與apache不在同一臺機器上,或者需要做多臺機器上tomcat的負載均衡只需要更改workers.properties文件中的相應定義即可。
%APACHE_HOME%為你的安裝目
整合
1、準備下載下列文件:
Jdk1.5
下載地址: http://java.sun.com
tomcat 5.5.9
下載地址:http://jakarta.apache.org
apache_2.2.4-win32-x86-no_ssl.msi
下載地址: http://httpd.apache.org/download.cgi
mod_jk-apache-2.2.3.so
下載地址:http://archive.apache.org/dist/jakarta/tomcat-connectors/
2、安裝好Jdk、tomcat、apache后,加入mod_jk連接模塊,就是把mod_jk-apache-2.2.3.so文件重名為mod_jk.so文件并拷貝到%APACHE_HOME%"modules下
3、修改apache的配置文件:
為了保持httpd.conf文件的簡潔,把jk模塊的配置放到單獨的文件中來,就在httpd.conf中增加一行調用
代碼? include %APACHE_HOME%Apache2"conf"mod_jk.conf
4:配置mod_jk.conf
請注意使用絕對路徑
其實最關鍵的就是 第一條 第二條 和最后一條,如果要精簡,就保留這三條內容就可以了。
代碼
# Load mod_jk module
LoadModule jk_module "E:"Program Files"Apache Software Foundation"Apache2.2"modules"mod_jk.so"
# Where to find workers.properties
JkWorkersFile "E:"Program Files"Apache Software Foundation"Apache2.2"conf"workers.properties"
# Where to put jk logs
JkLogFile "E:"Program Files"Apache Software Foundation"Apache2.2"logs"mod_jk.log"
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat set the request format
文章出處:http://www.diybl.com/course/3_program/java/javashl/2008124/152938.html
總結
以上是生活随笔為你收集整理的Apache http Server与Tomcat整合 2的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 赚钱项目在家可以赚钱,赶紧来看看吧!
- 下一篇: 基于SpringBoot 适合学习的开源