Topic: Windows环境下的tomcat + apache配置(绝对实践操作版)

  Print this page

1.Windows环境下的tomcat + apache配置(绝对实践操作版) Copy to clipboard
Posted by: junsansi
Posted on: 2006-04-13 17:27

Apache的HTTPD是目前比较受欢迎的网站服务器软件,它不但功能强大,而且完全免费,并且支持市场上流行的各种操作系统(Windows,Linux,Mac os)。同时对于Java Servlet/JSP的支持,通常也会使用同样Apache出品的Tomcat。
Tomcat除了支持Java Servlet/JSP之外,也可以当做网站服务器使用,但是在对于静态的html文件、图片文件等的解析效率上不如Apache HTTPD的执行效率高。应用tomcat的服务器如果网站的访问量较大,系统资源占用会明显升高,近日笔者在项目执行过程中遇到这一问题,便也想到同时应用tomcat+apache服务。Apache负责静态资源处理,tomcat负责jsp和java servlet等动态资源的处理。在网上看了不少介绍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整合成功

注:作者原创,转载请注明

2.Re:Windows环境下的tomcat + apache配置(绝对实践操作版) [Re: junsansi] Copy to clipboard
Posted by: junsansi
Posted on: 2006-04-13 17:30

目前在弄apache+tomcat的负载均衡方案,方法与此类似,基本搭建完毕,还有一些小问题,总结完之后我也会发表出来
欢迎大家有什么问题和想法与我交流!

3.Re:Windows环境下的tomcat + apache配置(绝对实践操作版) [Re: junsansi] Copy to clipboard
Posted by: bluepure
Posted on: 2006-04-13 20:09

apache2+tomcat可以用modajp,配置更简单。

4.Re:Windows环境下的tomcat + apache配置(绝对实践操作版) [Re: junsansi] Copy to clipboard
Posted by: junsansi
Posted on: 2006-04-14 09:15

modajp是什么东西?我没有接触过,网上也没搜索着啊?
3楼是不是关键字写错啦
mod和ajp?

5.Re:Windows环境下的tomcat + apache配置(绝对实践操作版) [Re: junsansi] Copy to clipboard
Posted by: Breeze
Posted on: 2006-04-14 10:55

junsansi wrote:
modajp是什么东西?我没有接触过,网上也没搜索着啊?
3楼是不是关键字写错啦
mod和ajp?


apache2.2才可以,应该是mod_proxy_ajp。

6.Re:Windows环境下的tomcat + apache配置(绝对实践操作版) [Re: junsansi] Copy to clipboard
Posted by: heartache
Posted on: 2006-04-22 10:10

tomcat全部英文,有好多个,我是新手,到底应该下那些东西 ?请指点

7.Re:Windows环境下的tomcat + apache配置(绝对实践操作版) [Re: Breeze] Copy to clipboard
Posted by: YuLimin
Posted on: 2006-04-22 14:43

Breeze wrote:
apache2.2才可以,应该是mod_proxy_ajp。


没有听过,机制是否一样?

8.Re:Windows环境下的tomcat + apache配置(绝对实践操作版) [Re: junsansi] Copy to clipboard
Posted by: qlqsh
Posted on: 2006-05-16 11:27

我这个配置的始终有问题。

配置完LoadMoudle后总是告诉我mod_jk2.so不可用(我改成mod_jk2.so的)。我的apache是2.2.2,tomcat5.0,connection那个是2.0.55。难道版本不一样的问题?

死活就是不行。望大大给解决一下。

9.Re:Windows环境下的tomcat + apache配置(绝对实践操作版) [Re: junsansi] Copy to clipboard
Posted by: qlqsh
Posted on: 2006-05-16 15:04

谢谢大大的文章,很管用,基本解决问题了。下面有个新的问题。希望知道的告知一下。

这个:调jsp就报这个错

Service Temporarily Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
--------------------------------------------------------------------------------

Apache/1.3.31 Server at localhost Port 80

有谁知道这是什么问题?肯定是端口的,但就是找不到原因。

10.Windows环境下的tomcat5.5.17 + apache2.2.2配置 不成功 [Re: junsansi] Copy to clipboard
Posted by: newwalk
Posted on: 2006-06-13 08:53

qlqsh ,请教我的apache 也是2.2.2 tomcat 5.5.17 conector mod_jk-apache-2.0.55.so 拷入modules目录时将mod_jk-apache-2.0.55.so 改为mod_jk.so
当在httpd.conf中加入LoadModule jk_module modules/mod_jk.so
时提示语法错误 cannot load E:\mysoft\apache\modules\mod_jk.so into server
\xd5 \xd2 \xb2 \xbb \xb5 \xbd \xd6 \xb8 \xb6 \xa8 \xb5 \xc4 \xb3 \xcc
\xd0 \xf2 \xa1 \xa3

11.Re:Windows环境下的tomcat + apache配置(绝对实践操作版) [Re: junsansi] Copy to clipboard
Posted by: junsansi
Posted on: 2006-06-14 15:32

可能是路径不对的原因,或者就是你的配置里已经有了一个mod_jk.so

12.Re:Windows环境下的tomcat + apache配置(绝对实践操作版) [Re: junsansi] Copy to clipboard
Posted by: binge
Posted on: 2006-07-02 19:49

版本不一样是不行的
比如2.2.0 和2.0.5x是不兼容的

13.Re:Windows环境下的tomcat + apache配置(绝对实践操作版) [Re: junsansi] Copy to clipboard
Posted by: binge
Posted on: 2006-07-20 01:17

这里有人已整合到了一起
http://www.easyjf.com/html/bbs/20060605/359925-159756119.htm

14.Re:Windows环境下的tomcat + apache配置(绝对实践操作版) [Re: junsansi] Copy to clipboard
Posted by: yeafee
Posted on: 2006-08-14 19:32

多谢的.配置过程一切顺利.

15.Re:Windows环境下的tomcat + apache配置(绝对实践操作版) [Re: junsansi] Copy to clipboard
Posted by: LIONEL_C
Posted on: 2006-11-03 14:16

下載Apache、Tomcat、mod_jk,其中mod_jk要與Apache版本相應,相應不代表相同,能用就行。安裝Apache、Tomcat,把mod_jk放在任意目錄。

Tomcat的\conf\server.xml內<Engine..></Engine>中加入:

<Listener className="org.apache.jk.config.ApacheConfig" modJk="C:\Program Files\Apache Software Foundation\Apache2.2\modules\mod_jk-apache-2.2.3.so" />
註:指給modJK的路徑是我的路徑哦。

重新?動Tomcat,其conf目錄內會產生auto及jk兩個目錄。把auto錄中的mod_jk.conf複製到jk目錄內,並把副檔名由.conf改為.conf-auto。

到Apache目錄,在其conf目錄內的httpd.conf中最後一行加入:
Include "C:/Program Files/Apache Software Foundation/Tomcat 5.5/conf/jk/mod_jk.conf-auto"

Apache重新?動後,一切大功告成。

可參考:http://tomcat.apache.org/connectors-doc/howto/apache.html中【Using Tomcat auto-configure】一段,其中有說明:
The auto-configure works only for a single Tomcat running on the same machine where Apache (httpd) is running.
意即auto-configure只限於Apache和Tomcat在同一機器上。

16.Re:Windows环境下的tomcat + apache配置(绝对实践操作版) [Re: junsansi] Copy to clipboard
Posted by: sweetheart
Posted on: 2009-02-04 14:11

我按上面的配置怎么整合不了,也没有报啥错,奇怪了。


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923