准備工作:
1、 httpd-2.2.22-win32-x86-openssl-0.9.8t.msi
下載地址:http://apache.etoak.com//httpd/binaries/win32/httpd-2.2.22-win32-x86-openssl-0.9.8t.msi
2、 apache-tomcat-6.0.20.zip(免安裝版-綠色版)
下載地址:http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.20/bin/apache-tomcat-6.0.20.zip
3、 jdk1.6.0_18
下載地址:
如果只是應用的話,也可以選擇安裝JRE,因為JRE比較小:)
4 JK:mod_jk-apache-2.2.2.so
下載地址:http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.18/mod_jk-apache-2.2.2.so
注意JK的版本一定要與Apache版本相同。如果你的版本與我的不同,可以去官網下載,有多種版本,適用於各種操作系統,下載適用的既可
開始安裝:
1、安裝JDK(JRE)
此處默認、自定義安裝均可。安裝完成以后按下面的示例設置你的系統環境變量:我的電腦 -> 屬性 -> 高級 -> 環境變量 (這里要添加的是系統變量,非用戶變量)
JAVA_HOME = C:\Program Files\Java\jdk1.6.0_18(可以不定義,只是為了能夠在tomcat下的通過批處理命令正常啟動tomcat)
CLASSPATH = .;C:\Program Files\Java\jdk1.6.0_18\jre\lib
PATH = C:\Program Files\Java\jdk1.6.0_18\bin
2、安裝Apache
安裝完成之后,如果apache用的是80端口,那么在瀏覽器中輸入 http://localhost ,如果使用的是其它端口例如81,則輸入http://localhost:81
3、安裝Tomcat
將Tomcat解壓到 D:\Program Files\Tomcat 下(設置環境變量:
CATALINA_BASE = D:\software\apache-tomcat-6.0.20\apache-tomcat-6.0.20
CATALINA_HOME = D:\software\apache-tomcat-6.0.20\apache-tomcat-6.0.20
CLASSPATH = %CATALINA_HOME%\lib\servlet-api.jar
最后系統環境變量path為:
PATH =.;java_home%\lib\dt.jar;%java_home%\lib\tools.jar;%java_home%\bin;%tomcat_home%\common\lib\servlet.jar,可以不定義)
運行 D:\Program Files\Tomcat\bin\startup.bat )啟動Tomcat,出現Tomcat頁面則表示安裝成功。
4、安裝JK
把 mod_jk-apache-2.2.2.so 拷貝到 D:\Program Files\Apache Software Foundation\Apache2.2\modules 下。
修改Apache配置文件httpd.conf
在apache安裝目錄下conf目錄中找到http.conf
(
端口:Listen 80 這是默認的,大家可以改這里
模塊:里面有一堆模塊在其中添加一個LoadModule jk_module modules/mod_jk-1.2.26-httpd-2.2.4.so
ServerAdmin:不用改,是個郵件地址
ServerName:服務器名稱,可以用ip也可用dns,這里通常注釋了,我們通常把注釋給去掉,否則當你啟動apache的時候會
報Could not reliably determine the server's fully qualified domain name, using 192.168.0.142 for ServerName錯誤,
但是這並不影響你的程序的運行
DocumentRoot:工程的根路徑,和Tomcat里配置的虛擬目錄docBase屬性相同
<Directory " ">:這里必須和DocumentRoot設置一樣
<VirtualHost localhost>
DirectoryIndex index.html index.htm index.jsp
JkMount /servlet/* ajp13
#讓Apache支持對servlet傳送,用以Tomcat解析
JkMount /*.jsp* ajp13
#讓Apache支持對jsp傳送,用以Tomcat解析
JkMount /*.bst* ajp13
#讓Apache支持對.bst傳送,用以Tomcat解析
JkMount /RandCode* ajp13
#讓Apache支持對Servlet傳送,用以Tomcat解析
</VirtualHost>
)
然后在文件最后加上下面一句話就可以了
include conf/mod_jk.conf
在httpd.conf 文件同目錄下新建mod_jk.conf文件(沒有創建一個新的),內容如下
# 加載mod_jk模塊,此處的mod_jk.so為你復制到modules/下的mod_jk名
LoadModule jk_module modules/mod_jk-apache-2.2.2.so
# 指定 workers.properties文件路徑
JkWorkersFile "D:/software/apache-tomcat-6.0.20/apache-tomcat-6.0.20/conf/workers.properties"
# 設置日志存放路徑
JkLogFile "D:/software/apache-tomcat-6.0.20/apache-tomcat-6.0.20/logs/mod_jk.log"
# 設置日志級別 [debug/error/info]
JkLogLevel info
# 設置日志格式
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"
# Send servlet for context /examples to worker named ajp13
#JkMount /servlet/* ajp13
# Send JSPs for context /examples to worker named ajp13
JkMount /* ajp13
在http.conf同目錄下新建 workers.properties文件,內容如下
workers.tomcat_home=D:\software\apache-tomcat-6.0.20\apache-tomcat-6.0.20 #讓mod_jk模塊知道jdk
workers.java_home=C:\Program Files\Java\jdk1.6.0_18\jre
ps=\ #指定文件路徑分割符
worker.list=ajp13 #上面的配置有用到的,不是將servlet和jsp都交給他了嗎
worker.ajp13.port=8009 #工作端口,若沒占用則不用修改
worker.ajp13.host=localhost #Tomcat服務器的地址
worker.ajp13.type=ajp13 #類型
worker.ajp13.lbfactor=1 #負載平衡因數
到這里配置就完成啦,在apache的主目錄里面創建test.jsp 然后在里面寫幾個字.再用http://localhost/test.jsp 或者http://localhost與http://localhost:8080的結果一樣則配置成功
分析主要易出錯細節:基本上按照基本配置每個人都會,但是往往不容易配置成功,原因是這里面的workers.properties、mod_jk.conf、http.conf幾個配置文件的內容里及其之間存在引用,所以路徑一定要注意弄清楚,該不該加引號,該不該使用絕對路勁,否則導致失敗