`
农村哥们
  • 浏览: 287089 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

apache与tomcat的结合配置

阅读更多
apache是一款优秀的web服务器。在处理静态请求有很快的响应速度,但无法处理动态请求。这时让apache与tomcat结合使用可以取长补短。

1、  apache 2.0.55
下载地址:http://apache.justdn.org/httpd/binaries/win32/apache_2.0.55-win32-x86-no_ssl.msi
2、  Tomcat 5.5
下载地址:http://tomcat.apache.org/download-55.cgi
3、  JRE1.5.0 update6
下载地址:http://java.sun.com/j2se/1.5.0/download.jsp
你也可以选择安装JDK,JDK不仅包含了运行java应用程序的支持,同时也包含J2SE的开发包。但如果您只是应用的话,我建议您仅下载JRE即可,为什么?因为它小啊:)
4、JK-apache-2.0.55
下载地址:
http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.15/mod_jk-apache-2.0.55.so
注意jk的版本一定要与你的apache版本相同。Jk下载可以直接到apache.org官网下载,有多种版本,适用于各种操作系统,地址如下:
http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/
windows用户进入win32目录,不同的tomcat对应不同jk文件扩展名不同,有可能是*.dll,或者*.so,根据你的tomcat版本下载合适的jk版本。

安装,软件的安装顺序可以适当调整,但是jre(jdk)一定要在tomcat之前安装:
1、安装JRE(JDK)
此处选择默认安装即可,(旧版本的JDK安装完之后需要设置系统的环境变量,JRE和JDK1.5.0以后版本不设置也没关系。)安装完成之后你可以选择按照下面的示例设置你的系统环境变量:我的电脑->右键属性->常规->高级->环境变量
JAVA_HOME = d:\Java\jre1.5.0_06
CLASSPATH = .;d:\Java\jre1.5.0_06\lib\dt.jar;d:\Java\jre1.5.0_06\lib\tools.jar
PATH = d:\Java\jre1.5.0_06\bin
注意文件路径要改成你实际安装的路径。

2、Apache安装
此处注意,如果你本机已经装了iis并且占用80端口,务必先在服务中将iis停止或禁用。软件默认安装即可。安装过程中设置Network Domain和Server Name为localhost,设置你的email地址,下方会让你选择only for the current user或for all users。默认选择for all users。这样Apache就会占用80端口,并且做为一个系统服务开机自运行。
安装完成之后,你在浏览器中输入http://localhost,将会看到Apache的成功页面.Apache的主目录是d:\Apache \Apache2,此时Apache,已经运行,你可以在窗口的托盘看到他的图标,双击图标,在弹开的窗口选择"Open Apache Monitor",点Stop,停止Apaceh服务,因为下面要安装Tomcat和JK.

3、Tomcat安装
选择安装目录为了d:\Tomcat,其余为默认安装.成功后在浏览器中输入http://localhost:8080,出现Tomcat页面表示安装成功了。关于tomcat的设置已经有很多非常详细的文章,在此就不再详述了。

4、JK的安装
把mod_jk_2.0.55.so拷贝到d:\Apache\Apache2\modules\下.

以上安装全部完成后,打开cmd命令提示符,运行d:\Apache\Apache2\bin\Apache.exe -t 你将会看到"Syntax OK",表示Apache配置正常.这个命令非常有用,下面在继续配置Apache的时候还会再次用到。

配置服务器:

1、配置Tomcat
查找目录下的conf/workers.properties文件,并对比下方文本内容,如有不同以下方内容为准修改。
workers.tomcat_home=d:\Tomcat #让mod_jk模块知道Tomcat的位置
workers.java_home=d:\Java\jre1.5.0_06 #让mod_jk模块知道jre的位置
ps=\
worker.list=ajp13 #模块版本
worker.ajp13.port=8009 #工作端口,若没占用则不用修改
worker.ajp13.host=localhost #本机,若上面的Apache主机不为localhost,作相应修改
worker.ajp13.type=ajp13 #类型
worker.ajp13.lbfactor=1 #代理数,不用修改

如果文件不存在则创建。并填充上述内容。

2、配置Apache
打开d:\Apache\Apache2\conf下的httpd.conf,在最后加入下面这段代码并保存。
#设置Apache与Tomcat之间的连接,让Apache遇到jsp文件时,在后台将其交由Tomcat去处理
LoadModule jk_module modules/mod_jk_2.0.55.so
#此处mod_jk的文件为你下载的文件
JkWorkersFile "d:/Tomcat/conf/workers.properties"
#指定tomcat监听配置文件地址
JkLogFile "d:/Tomcat/logs/mod_jk2.log"
#指定日志存放位置
JkLogLevel info

#设置虚拟主机
<VirtualHost localhost>
ServerAdmin localhost
DocumentRoot d:/test1
#您的站点项目所在路径,应与tomcat中的目录设置相同
ServerName localhost
DirectoryIndex index.html index.htm index.jsp
ErrorLog logs/shsc-error_log.txt
CustomLog logs/shsc-access_log.txt common
JkMount /servlet/* ajp13
#让Apache支持对servlet传送,用以Tomcat解析
JkMount /*.jsp ajp13
#让Apache支持对jsp传送,用以Tomcat解析
JkMount /*.do ajp13
#让Apache支持对.do传送,用以Tomcat解析
</VirtualHost>

# 开头的行为注释,可以删除。此处的配置我是以设置虚拟目录,重新指定了serverName,DocumentRoot路径的方式配置站点,实际上,Apache的配置可以非常灵活,你也可以不采用虚拟目录的方式,而直接去修改站点的默认配置,使用任意文本编辑工具,搜索如 ServerName,DocumentRoot,ServerAdmin等相关项,然后将该项的配置根据你的实际情况进行修改即可。我建议大家可以多多尝试不同的配置,这是一种很有乐趣的体验。
所有的修改完成这后,再次执行d:\Apache\Apache2\bin\Apache.exe -t 如果看到"Syntax OK",说明你所有配置无误,双击窗口的托盘中的图标,然后点击Start运行。
在地址栏中分别输入http://localhost/,与http://localhost:8080/若结果相同,Apache与Tomcat整合成功

转载 CSDN junsansi 网友

安装好就可以使用了,根据我个人使用,tomcat+apache 有两个用处:
·apache 进行接受静态页面请求,承受最大的并发连接数,tomcat处理动态请求
·通过apache接受请求,把url进行解析转发给tomcat处理(把静态地址动态化)
      www.xxxxx.cn/index.html -> www.xxxxx.cn/index.do?id=
      由于搜索引擎对动态地址的收录不好,所以需要使用静态形式的地址(.html),但
  还需要动态请求,就需要通过apache 进行解析转发。




工作原理说明  转载Code_worker

作为Apache下面的子项目,Tomcat 与 Apache之间有着天然的联系。在实际操作中,主要是Apache作为主服务器运行,当监听到有jsp或者servlet的请求时,将请求转发给tomcat服务器,由tomcat服务器进行解析后,发回apache,再由apache发回用户。

在tomcat中有两个监听的端口,一个是8080用于提供web服务,一个是8009用于监听来自于apache的请求。当apache收到jsp或者servlet请求时,就向tomcat 的8009端口发送请求,交由tomcat处理后,再返回给apache,由apache返回给客户。

 mod_jk_2.0.55.so相当于是apache与tomcat之间的桥梁一样,所以在apache的配置文件下面加上LoadModule jk_module modules/mod_jk_2.0.55.so 将此模块载入。

JkWorkersFile "tomcat安装目录/conf/workers.properties" 说明了mod_jk_2.0.55.so 如何工作,当出现要转发时,将请求发送到那里进行处理,代表了一系列的工作参数。

JkLogFile "apache安装目录/logs/mod_jk.log" 设定日志的地址。

JkMount 说明了将什么样的URL进行发送到tomcat进行处理。JkMount /*.jsp ajp13 说明了要将jsp请求发到tomcat,JkMount /*.do ajp13说明了要将.do型的servlet发到tomcat进行处理。在实际的分发中,如果servlet命名不带后缀的话,将无法被识别,也就无法进行处理。


对于用处第二点:吧url静态地址动态化
在apache的httpd.conf 中 可以使用  Include conf/vhosts/www.conf 把vhosts文件夹下的www.conf文件导入进来。
www.conf 中就是一个<VirtualHost localhost> 虚拟主机
<VirtualHost *:80>
    ServerAdmin webmaster@xxx.com
    DocumentRoot /var/www/html
    ServerName frontend.admin.xxx.com
    ErrorLog logs/admin.xxx.com-error_log
    CustomLog logs/admin.xxx.com-access_log combined

    RewriteRule   ^/index.html          /frontend/toBuildingMainPage.do      [PT,L]

    JkMount       /frontend/*.do        frontend_wkr
    JkMount       /frontend/*.jsp       frontend_wkr
    JkMount       /frontend/*.js        frontend_wkr
    JkMount       /frontend/*.doc       frontend_wkr
    JkMount       /frontend/*.html      frontend_wkr

</VirtualHost>

把 host/index.html 静态请求 转换成 xxx.do让tomcat 处理请求。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics