一、如何整合?
1、相關軟件準備
* Apache:apache_2.2.11-win32-x86-openssl-0.9.8i.msi
* JDK:jdk-6u11-windows-i586-p
* Tomcat:apache-tomcat-6.0.16
* Mod_JK:mod_jk-1.2.28-httpd-2.2.3
注:什麼是mod_jk?Apache只是一個http服務器,可以通過加載一些模塊來擴展功能。就像要解析PHP的時候,我們就需要載入PHP解析模塊!mod_jk是用來連接Apache和Tomcat的模塊。也可以“不正規”理解成用來解析JSP的一個模塊,但是真正解析JSP的還是 Tomcat!軟件的下載地址和安裝過程略!
2、配置Apache
第一步,配置worker.properties(這個文件的名字是固定的,用於配置mod_jk的一些屬性信息,此文件可以放於任意目錄。可以參考:http://tomcat.apache.org/connectors-doc/reference/workers.html)
1: #tomcat的目錄
2: workers.tomcat_home="D:tomcat6"
3: #jdk的目錄
4: workers.java_home="C:Program FilesJavajdk1.6.0_11"
5: ps=
6: wk.list=ajp13
7: wk.ajp13.port=8009
8: wk.ajp13.host=localhost
9: wk.ajp13.type=ajp13
10: wk.ajp13.lbfactor=50
11: wk.ajp13.cachesize=10
12: wk.ajp13.cache_timeout=600
13: wk.ajp13.socket_keepalive=1
14: wk.ajp13.socket_timeout=300
第二步,將mod_jk-1.2.28-httpd-2.2.3.so放到Apache目錄下的 modules文件夾(Apache Software FoundationApache2.2modules),並重命名爲mod_jk.so,然後配置httpd.conf在其文件末尾加入以下內容(參考:http://tomcat.apache.org/connectors-doc/reference/apache.html):
1: LoadModule jk_module modules/mod_jk.so
2: #worker.properties文件路徑
3: JkWorkersFile "D:DevPHPApache Software FoundationApache2.2confetcworkers.properties"
4: JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
5: JkRequestLogFormat "%w %V %T"
6: JkLogFile "D:/DevPHP/Apache Software Foundation/Apache2.2/logs/mod_jk.log"
7: #支持*.jsp請求
8: JkMount /*.jsp ajp13
9: #支持*.do請求
10: JkMount /*.do ajp13
接着再修改httpd.conf(Apache Software FoundationApache2.2conf)。增加對虛擬host的支持和“index.jsp”的支持
<IfModule dir_module>
DirectoryIndex index.html index.php index.jsp
</IfModule>
新增index.jsp
# Virtual hosts
Include conf/extra/httpd-vhosts.conf (在httpd.conf中去掉此行註解)
第三步,最後配置httpd-vhosts.conf(Apache Software FoundationApache2.2confextra)
1: NameVirtualHost localhost
2: <VirtualHost localhost>
3: ServerAdmin [email protected]
4: DocumentRoot "D:/DevPHP/Apache Software Foundation/Apache2.2/htdocs"
5: ServerName localhost
6: DirectoryIndex index.html index.php index.jsp
7: <Directory "D:/DevPHP/Apache Software Foundation/Apache2.2/htdocs/">
8: Options -Indexes FollowSymLinks
9: AllowOverride None
10: Order allow,deny
11: Allow from all
12: </Directory>
13: JkMount /servlet/* ajp13
14: JkMount /*.jsp ajp13
15: JkMount /*.do ajp13
16: </VirtualHost>
3、配置Tomcat
配置tomcat的server.xml,加入以下內容:
1: <Host name="localhost" appBase="D:/DevPHP/Apache Software Foundation/Apache2.2/htdocs/" unpackWARs="true"autoDeploy="true">
2: <Context path="" docBase="D:/DevPHP/Apache Software Foundation/Apache2.2/htdocs/" reloadable="true"/>
3: </Host>
二、測試
編寫一個簡單的JSP文件放到D:/DevPHP/Apache Software Foundation/Apache2.2/htdocs/(記得使用你們自己的配置路徑)中,使用http://localhost/和http://localhost:8080訪問,如果出現相同的結果(當然這個結果需要是正確的!),恭喜你,你成功了!