rhel3下安装配置tomcat4+httpd2+mod_jk

发表于:2007-06-08来源:作者:点击数: 标签:
[b:d7849d665d]作者:苏小勇 http://www.bestunix.net[/b:d7849d665d] 说明:本方案已经在redhat8/9,rhel2.1/3,fedora1/2/3上 测试 通过。 各种版本的安装步骤都基本相同,区别只在于httpd和mod_jk的版本不同,后面我附了各种版本mod_jk的说明,大家可以去[u

[b:d7849d665d]作者:苏小勇
http://www.bestunix.net[/b:d7849d665d]

说明:本方案已经在redhat8/9,rhel2.1/3,fedora1/2/3上测试通过。
各种版本的安装步骤都基本相同,区别只在于httpd和mod_jk的版本不同,后面我附了各种版本mod_jk的说明,大家可以去[url=http://www.bestunix.net]作者主页[/url]下载rpm安装包下载。
下面是以rhel3为例。

最大的优点:[b:d7849d665d]最简单的安装方法[/b:d7849d665d],不用编译任何软件,完全使用rpm搞定,只需要做一些简单配置两个文件即可(下面都给出了样例和说明)。

1.安装和tomcat 

./j2sdk1.4.2_04.bin 
mv j2sdk1.4.2_04 /usr/local/jdk


2.安装Tomcat4.1.29,将下载下来的tomcat1.4.29.tar.gz解压后移动到相应的目录即可 

tar xvzf tomcat4.1.29.tar.gz 

mv tomcat4.1.29 /usr/local/jdk

3.设置环境变量
export JAVA_HOME=/usr/local/jdk 
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export CATALINA_HOME=/usr/local/tomcat4

可以在/etc/profile.d/下面建立一个java.sh来设置环境变量,免得以后每次启动后都要重新设置
vi /etc/profile.d/java.sh

java.sh的内容如下:

[code:1:d7849d665d]#这里改为你的jdk路径
JAVA_HOME=/usr/local/jdk
#这里改为你的tomcat安装路径,不过似乎不设也可以
CATALINA_HOME=/usr/local/tomcat4
#设置PATH,注意将jdk的bin路径加入,也可以将tomcat的bin目录加入
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$CATALINA_HOME/bin
export JAVA_HOME CATALINA_HOME PATH[/code:1:d7849d665d].

将java.sh改为可执行

chmod 755 /etc/profile.d/java.sh

4.安装httpd,这个都可以使用系统自带的,也可以去www.apache.org下载最新版的rpm包来警醒安装,我装的是rhel自带的2.0.46 

5.安装mod_jk,我装的是mod_jk-tomcat4.1.24-fc1.i386.rpm,虽然是for fedora1的,但在rhel3下也可以正常使用,这个在后面会有说明. 

注意,只有将jdk和tomcat装在特定的目录下mod_jk才能检测到,所以这里我们强制安装 

rpm -i --nodeps mod_jk.rpm 


好了,现在需要的软件都安装完了,剩下的就是配置的工作. 

mod_jk.rpm除了安装mod_jk.so以外,还会在/etc/httpd/conf和/etc/httpd/conf.d下面分别增加两个文件mod_jk.properties和mod_jk.conf
下面我们分别进行配置

5.mod_jk.properties的设置 

cd /etc/httpd/conf/ 
vi mod_jk.properties 

内容如下

[code:1:d7849d665d]
#修改workers.tomcat_home为tomcat的安装目录
workers.tomcat_home=/usr/local/tomcat4
#workers.java_home为jdk的安装目录
workers.java_home=/usr/local/jdk 
worker.list=ajp13 
#注意,有的版本的mod_jk里这个端口默认是8109,要自己改为8009
worker.ajp13.port=8009 
worker.ajp13.host=localhost 
worker.ajp13.type=ajp13 [/code:1:d7849d665d]

6.mod_jk.conf的配置 

这个文件主要是使httpd正确的加载mod_jk.so并匹配jsp文件,另外我们还要设置index.jsp或default.jsp为httpd每个目录的默认index文件.

vi /etc/httpd/conf.d/mod_jk.conf

内容如下

[code:1:d7849d665d]#加载mod_jk
LoadModule jk_module modules/mod_jk.so 
#配置 
<IfModule mod_jk.c> 
JkWorkersFile conf/mod_jk.properties 
JkLogFile logs/mod_jk 
JkLogLevel warning 
</IfModule> 
#文件类型匹配 
<IfModule mod_jk.c> 
JkMount /*.jsp ajp13 
JkMount /*.do ajp13 
JkMount /servlet/* ajp13 
</IfModule> 
#设置默认索引页
DirectoryIndex index.jsp[/code:1:d7849d665d]

7.对httpd进行配置,详情可参看关于httpd配置的相关教程,我们这里只需要设置httpd默认语言为简体中文 

AddDefaultCharset GB2312 

并将将tomcat和http的根目录(或虚拟主机的根目录)设为相同目录

8.启动tomcat,apache看看.

[b:d7849d665d]一点经验:[/b:d7849d665d]
1. 关于mod_jk 
mod_jk一般都是只跟httpd版本有关,跟操作系统甚至tomcat版本关系都不是很大,一般tomcat4下的都可以通用。

根据这几天的经验,这几个版本的mod_jk分别适用范围为

mod_jk-tomcat4.1.24-fc1.i386.rpm 适用于http2.0.46~2.0.52版本,即rhel3,fedora系列,再往后的版本现在还没发测试,2.0.52版本现在就是最新的了

mod_jk-tomcat4.1.18-rh80.i386.rpm  适用于httpd2.0.40版本,redhat8/9及其升级版本都可以用

mod_jk-tomcat4.1.24-rh80.i386.rpm  同上,只是要求tomcat的版本不同,但经过测试,tomcat4系列的都可以使用.

2.关于redhat8/9,rhel3,redhat8/9上的软件大部分都可以在rhel上正常运行,因此如果在rhel上找不到合适的软件的话可以拿redhat8/9上的软件来试试。

 HonestQiao 回复于:2004-11-14 21:59:31
很不错,不过希望能挖掘一些更有深度的东西。

 sxybit 回复于:2004-11-15 08:41:18
呵呵,谢谢斑竹支持,其实这方面的文章我找了很久,一直都没有配置成功,因为现在大多数都是讲httpd2和tomcat5的整合。在与tomcat4的整合中,找个合适的mod_jk实在太难了,自己编译更麻烦,我搞了两三天还没有编译成功,因此现在把这个写出来,希望能给跟我有同样困惑的兄弟以帮助。

 HonestQiao 回复于:2004-11-15 10:58:41
编译到不麻烦,主要是相关的工具很多,要装全了编译就简单了。

 sxybit 回复于:2004-11-15 12:21:29
呵呵,除非全部安装,否则都不知道要装些什么东西,我刚开始先按照说明安装了几个必须安装的开发包,后来老出错,又升级了autoconf,automake,gclearcase/" target="_blank" >cc,libtool结果后来报的错是httpd的源文件里有语法错误,彻底崩溃了,呵呵,希望有人能把编译mod_jk需要注意的问题总结一下。

 sxybit 回复于:2004-11-17 18:48:24
[size=18:a1f8418932]启用新域名[b:a1f8418932]http://www.bestunix.net[/b:a1f8418932],请大家捧场,呵呵![/size:a1f8418932]

原文转自:http://www.ltesting.net