打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Apache与Tomcat的整合,以及Rewrite的使用
Apache简介
Apache是著名的Apache开源网站的免费的WEB服务器。它更灵活,使你能够根据自己的需要选用包含特定功能的模块。再给你提供一条消息,现在全世界超过60%的HTTP服务器在使用Apache。

Apache与Tomcat的整合
所使用的软件及其版本:
   Windows XP
    Apache:2.0.58
   Tomcat:4.1.13
   Connector:JK1.2.15   mod_jk-apache-2.0.55.so

以上软件(除windows)可以到Apache的网站上下载。

部署和配置文件
将mod_jk-apache-2.0.55.so改名为mod_jk.so放到%Apache2%\modules文件夹下(此文件夹原有很多.so文件)。

在 %Apache2%\conf文件夹中建 workers.properties文件,并向其中加入相应信息,见后文最终配置中的workers.properties,根据你的文件位置修改相应的参数值。

然后在 %Apache2%\conf文件夹中找到http.conf文件(Apache的配置文件。),定义你的主机,以及转发的规则,比如:JkMount  /*.jsp ajp13  ,将所有jsp文件派发给Tomcat。
<VirtualHost *:80>
    ServerAdmin whtandy@163.com
    DocumentRoot D:\epodcms
    ServerName 127.0.0.1

    #Load module of mod_jk apache tomcat connecter
    LoadModule jk_module modules/mod_jk.so
    JkWorkersFile conf/workers.properties
    JkLogFile     logs/mod_jk.log
    JkMount  /*.jsp ajp13  (将所有jsp文件派发)
    #Load jk2 apache tomcat connecter end
</VirtualHost>


Apache中URL的Rewrite
现在讲究面向搜索引擎的开发。当我们使用jsp时,搜索引擎的收藏效果不是很好,所以我们可以转义这样的URL。比如:我们可以借助rewrite使用/blog/user/0.html来访问/blog/user/blog_show.jsp?userid=0使搜索引擎更容易搜集到我们的网站信息。具体配置很简单,介绍如下

首先:还是打开%Apache2%\conf文件夹,找到http.conf文件,搜索rewrite找到#LoadModule rewrite_module modules/mod_rewrite.so,将它前面的#去掉。
然后在你要使用的VirtualHost中加入

RewriteEngine   on
#打开rewrite引擎
RewriteLog       logs/rewrite.log
#rewrite日志,可选配置,建议使用
RewriteLogLevel 3
#rewrite日志等级,默认为0不记录,所以只要使用日志,就要配置,3就全记录了,可以更大但没有什么意义。
RewriteRule     /blog/user/(.+)\.html$ /blog/user/blog_show.jsp?userid=$1 [PT]
#转义的规则,使用正则表达式(我也不熟,自己去研究吧),我上面的例子是将/blog/user/*.html的URL转义成/blog/user.blog_show.jsp?userid=*。
注意后面的[PT]这是保证你这样转义之后Apache能将它转给Tomcat否则Apache会自己处理这个链接,造成什么也得不到。
注意[PT],[R]的区别,使用[PT]在客户地址栏的显示还是*.html,如果将[PT]换成[R]则地址栏也会显示成.jsp
我的最终配置:

httpd.conf
<VirtualHost *:80>
    ServerAdmin whtandy@163.com
    DocumentRoot D:\epodcms
    ServerName 127.0.0.1

    #Load module of mod_jk apache tomcat connecter
    LoadModule jk_module modules/mod_jk.so
    JkWorkersFile conf/workers.properties
    JkLogFile     logs/mod_jk.log
    JkMount  /*.jsp ajp13
    #Load jk2 apache tomcat connecter end

    RewriteEngine   on
    RewriteLog       logs/rewrite.log
    RewriteLogLevel 3
    RewriteRule     /blog/user/(.+)\.html$ /blog/user/blog_show.jsp?userid=$1 [PT]
    RewriteRule     /blog/(.+)\.html$ /blog/user/blog_show.jsp?logid=$1 [PT]

</VirtualHost>



workers.properties
workers.tomcat_home="d:/Tomcat4"
#让mod_jk模块知道Tomcat的安装路径
workers.java_home=D:\JDK1.5
#让mod_jk模块知道jdk路径
ps=\
worker.list=ajp13
#这里是关键,名字要和httpd.conf的一致。如果这里改了httpd.conf也要改。
worker.ajp13.port=8009
#工作端口,tomcat的jk监听端口,可以查看Tomcat 的Server.xml中有port="8009" protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"这样的Connector
worker.ajp13.host=localhost
#Tomcat所在机器,如果安装在与apache不同的机器则需要设置IP
worker.ajp13.type=ajp13
#类型,Apache与Tomcat之间传递使用的协议
worker.ajp13.lbfactor=1
#这个没有搞清楚
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Apache+Tomcat配置
apache与tomcat负载集群的方法与集群的文件同步问题和图片上传显示问题解决
轻松实现Apache Tomcat集群和负载均衡
apache2.2和tomcat5.5整合
Windows下Apache HTTPD与Tomcat的整合 - - JavaEye技术网...
Windows环境下的tomcat apache配置(绝对实践操作版)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服