手把手教你 配置 apache + tomcat (实用教程)

软件和网站开发以及相关技术探讨
greenwoodboy
帖子: 88
注册时间: 2005-04-15 15:31

手把手教你 配置 apache + tomcat (实用教程)

#1

帖子 greenwoodboy » 2006-10-30 16:39

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

注意jk的版本一定要与你的apache版本相同和适用于各种操作系统

安装,软件的安装顺序可以适当调整,但是jre(jdk)一定要在tomcat之前安装:
1、安装JRE(JDK)
设置你的系统环境变量:我的电脑->右键属性->常规->高级->环境变量
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安装
软件默认安装即可。安装过程中设置Network Domain和Server Name为localhost,设置你的email地址,下方会让你选择only for the current user或for all users。默认选择for all users。这样Apache就会占用80端口,并且做为一个系统服务开机自运行。
安装完成之后,你在浏览器中输入http://localhost,将会看到Apache的成功页面.
3、Tomcat安装
选择安装目录为了d:\Tomcat,其余为默认安装.成功后在浏览器中输入http://localhost:8080,出现Tomcat页面表示安装成功了。
4、JK的安装
把mod_jk_2.0.55.so拷贝到d:\Apache\Apache2\modules\下.

以上安装全部完成后,打开cmd命令提示符,运行d:\Apache\Apache2\bin\Apache.exe -t 你将会看到"Syntax OK",表示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

#设置虚拟主机

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解析


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

该配置方法也可以用户linux的配置。都是经过本人实际配置成功的。由于网上教程的内容都不一样,我也走过不少弯路,所以将该实践经验整理于此。
ysixin
帖子: 12
注册时间: 2006-12-03 10:07

#2

帖子 ysixin » 2006-12-07 18:46

是不是我看错了?
这个......是linux下的吗?
stoneVip
帖子: 5
注册时间: 2007-02-08 15:05

#3

帖子 stoneVip » 2007-02-09 8:46

linux这样也可以?!
imake
帖子: 60
注册时间: 2007-05-28 11:03

#4

帖子 imake » 2007-06-01 9:38

乱转的帖子吧
头像
stlxv
论坛版主
帖子: 8275
注册时间: 2006-05-03 0:39
来自: المريخ

#5

帖子 stlxv » 2007-06-01 11:42

ysixin 写了:是不是我看错了?
这个......是linux下的吗?
不是,除非用wine
PHP是最好的语言!不服来战!
头像
stlxv
论坛版主
帖子: 8275
注册时间: 2006-05-03 0:39
来自: المريخ

#6

帖子 stlxv » 2007-06-01 11:43

stoneVip 写了:linux这样也可以?!
wine就可以
PHP是最好的语言!不服来战!
phonen
帖子: 97
注册时间: 2006-10-24 23:40
联系:

#7

帖子 phonen » 2007-06-03 18:43

stlxv 写了:
stoneVip 写了:linux这样也可以?!
wine就可以
怎么说也转个linux的来,乱转
zabbey
帖子: 296
注册时间: 2006-05-06 2:03

#8

帖子 zabbey » 2007-06-03 19:29

LZ在最后不是说了
该配置方法也可以用户linux的配置。都是经过本人实际配置成功的。由于网上教程的内容都不一样,我也走过不少弯路,所以将该实践经验整理于此。
灵活应用一下就行的
duanyong
帖子: 73
注册时间: 2007-05-17 9:38

Re: 手把手教你 配置 apache + tomcat (实用教程)

#9

帖子 duanyong » 2007-06-27 22:57

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

注意jk的版本一定要与你的apache版本相同和适用于各种操作系统

安装,软件的安装顺序可以适当调整,但是jre(jdk)一定要在tomcat之前安装:
1、安装JRE(JDK)
设置你的系统环境变量:我的电脑->右键属性->常规->高级->环境变量
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安装
软件默认安装即可。安装过程中设置Network Domain和Server Name为localhost,设置你的email地址,下方会让你选择only for the current user或for all users。默认选择for all users。这样Apache就会占用80端口,并且做为一个系统服务开机自运行。
安装完成之后,你在浏览器中输入http://localhost,将会看到Apache的成功页面.
3、Tomcat安装
选择安装目录为了d:\Tomcat,其余为默认安装.成功后在浏览器中输入http://localhost:8080,出现Tomcat页面表示安装成功了。
4、JK的安装
把mod_jk_2.0.55.so拷贝到d:\Apache\Apache2\modules\下.

以上安装全部完成后,打开cmd命令提示符,运行d:\Apache\Apache2\bin\Apache.exe -t 你将会看到"Syntax OK",表示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

#设置虚拟主机

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解析


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

该配置方法也可以用户linux的配置。都是经过本人实际配置成功的。由于网上教程的内容都不一样,我也走过不少弯路,所以将该实践经验整理于此。

记下了。但是我还是不太明白4、 JK-apache-2.0.55 这个是啥。。我google看一看吧。
q4ever
帖子: 18
注册时间: 2007-09-28 13:27

#10

帖子 q4ever » 2007-11-17 14:07

:twisted: 很幸运,我没找到D:
头像
www1862
帖子: 781
注册时间: 2006-05-12 0:52
来自: Chongqing China
联系:

#11

帖子 www1862 » 2007-11-17 14:55

一年前的帖子都翻出来了?
superstar
帖子: 36
注册时间: 2006-06-08 11:12

#12

帖子 superstar » 2007-12-12 10:51

管用就行,我试过了,在Ubuntu7.10中配置完全没问题。
superstar
帖子: 36
注册时间: 2006-06-08 11:12

请教 静态页面显示不出来,为何? 请高手指点。

#13

帖子 superstar » 2007-12-12 11:01

按以上配置,tomcat可以工作了
但静态页面却不能显示
是不是还要配置静态页面的工作目录
请指点!
superstar
帖子: 36
注册时间: 2006-06-08 11:12

静态页面显示不出来--问题已经解决

#14

帖子 superstar » 2007-12-12 11:24

静态页面显示不出来,是因为还没有在apache中建虚拟目录。
见笑了.....
SevenRedCity
帖子: 3
注册时间: 2008-01-31 23:12

#15

帖子 SevenRedCity » 2008-01-31 23:19

试试看,先谢了,不过感觉好像有点不大对径。
回复