在Windows中整合Apache和Tomcat构建Web服务器

一、如何整合?
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访问,如果出现相同的结果(当然这个结果需要是正确的!),恭喜你,你成功了!

 

发布了66 篇原创文章 · 获赞 8 · 访问量 18万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章