QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2000|回复: 3

rhel3下整合tomcat4+httpd2+mod_jk

[复制链接]
发表于 2004-11-15 15:08:35 | 显示全部楼层 |阅读模式
作者:苏小勇
http://www.bestunix.net


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

最大的优点:最简单的安装方法,不用编译任何软件,完全使用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]#这里改为你的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].

将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]
#修改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]

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]#加载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]

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

AddDefaultCharset GB2312

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

8.启动tomcat,apache看看.

一点经验:
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上的软件来试试。
发表于 2004-11-15 22:20:47 | 显示全部楼层
鼓励一下

疑问:
./j2sdk1.4.2_04.bin

cp -R j2sdk1.4.2_04 /var/jdk

这是干什么?为什么要复制一份?

说明:
mod_jk一般都是只跟httpd版本有关,跟操作系统甚至tomcat版本关系都不是很大,一般tomcat4下的都可以通用。
mod_jk 是编译为 Apache 的一个模块,可以理解为“内嵌着Apache版本号”,当然是跟 Apache 的版本有关。


反对: 强烈反对将程序文件放在 /var 下!
回复

使用道具 举报

 楼主| 发表于 2004-11-16 08:41:50 | 显示全部楼层
谢谢斑竹补充,复制一份只是为了后面设置起来比较方便,另外释放后的jdk路径也不能确定,我已经改为mv了。

另外jdk和tomcat4的安装路径都已经改到/usr/local下面了,还有什么问题请斑竹指点。
回复

使用道具 举报

发表于 2004-12-20 21:18:38 | 显示全部楼层
感觉好乱啊,我自己整自己的经验算拉
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-5-9 06:42 , Processed in 0.093456 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表