apache整合tomcat参考
时间:2006-03-19 来源:我为鹤狂
Apache+tomcat+jk2
一、概述
经过近3天的摸索,参考linuxsir上的文档。终于将apache + tomcat配置成功。仅以次文向无私分享经验的作者致敬,同时结合自己的实践补充前人在文档中的不足,并记录本人的摸索过程。期望对以后的人有所帮助。
主要参考文档
1、http://www.linuxsir.org/bbs/showthread.php?t=131508 作者iokok
2、http://www.linuxsir.org/bbs/showthread.php?t=181402 作者x2x4
3、O'Reilly 《tomcat权威指南》
其中第1篇文档起了非常重要的参考指导作用。
二、准备
本人系统为RHEL AS3 U6 安装时没有选择安装WEB服务器(强烈建议不要默认安装web服务器)。没有安装开发工具,GCC为装完系统后再装上去的。
apache httpd-2.0.55.tar.gz
tomcat jakarta-tomcat-5.0.28.tar.gz
java j2sdk-1_4_3_11-linux-i586-rpm.bin
jk2 jakarta-tomcat-connectors-jk2-src-current.tar.gz
GCC 为AS3自带rpm包
这些包的下载请到各自的网站下,不知道地方问google。
三、安装
RHEL AS3 的安装在此不再赘述。只是有一点小技巧,就是装的时候把samba装上,配置一个共享目录以供放下载的安装包。samba配置非常简单,如下:
#smbpasswd -a north /*设置samba用户,north是我在系统中已经存在的一个用户*/
/*再设置密码就OK了不用改任何配置你就可以有一个这个用户的home目录的共享*/
1、JDK
#sh j2sdk-1_4_3_11-linux-i586-rpm.bin 安装 jdk
默认JDK目录为/usr/java/jdk-1_4_3_11/ 为了方便做软连接
#ln -s /usr/java/jdk-1_4_3_11/ /usr/jdk
设置java环境变量
export JAVA_HOME=/usr/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASS_PATH=$JAVA_HOME/lib
这里注意几点1、“=”前后没有空格,2“:”是冒号不是“;”分号和windows下的不一样。
基本上大家的设置都是在/etc/profile,/etc/rc.local,这个我没有这样做,我是在 /etc/profile.d这个目录中写的一个脚本java.sh
内容就是上面的3个export为什么这样写,主要是我看了一下/etc/profile下面这段
for i in /etc/profile.d/*.sh;do
if [ -r "$i" ];then
. $i
fi
done
这段就是运行/etc/profile.d目录下面的.sh脚本因此我把java.sh包括后面自动启动tomcat的脚 本我也是放在这里。事实证明效果还是不错,可以用。但是我对/etc/rc.d/rc.sysinit,/etc/rc.local, /etc/rc5.d/, /etc/profile到底有什么区别还是不清楚,这个留待以后研究吧,或者看到这篇文章的朋 友知道的请回帖告诉我。
2、tomcat安装
#gunzip jakarta-tomcat-5.0.28.tar.gz
#tar xvf jakarta-tomcat-5.0.28.tar
#mv jakarta-tomcat-5.0.28 /usr/local/tomcat5.0.28
#cd /usr/local/tomcat5.0.28/bin
#/usr/local/tomcat5.0.28/bin/startup.sh start
测试一下在mozilla中输入http://localhost:8080看看猫有没...²¡什么多说 的。
3、apache安装
安装之前把gcc装上,在linux安装盘中。
#gunzip httpd-2.0.55.tar.gz
#tar -xvf httpd-2.0.55.tar
#cd httpd-2.0.55/bin
#./configure //默认的配置就可以了
#make
#make install
装完不要忘记装httpd-devel
#rpm -q | grep httpd
看看有没有httpd-devel-2.0.46-44.ent,没有的话,在第3张盘里面。不装这个就没有apxs。
4、整合tomcat、apache,安装JK2
#gunzip jakarta-tomcat-connectors-jk2-src-current.tar.gz
#tar xvf jakarta-tomcat-connectors-jk2-src-current.tar
#cd jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2
#./configure --with-apxs2=/usr/local/apache2/bin/apxs /*apache安装目录*/
这一步如果有问题基本上是你忘记装httpd-devel,请装上。
#make
#cd ../build/jk2/apache2
在这个目录中可以看到mod_jk2.so文件
#/usr/local/apache2/bin/apxs -n jk2 -i mod_jk2.so
用apxs编译mod_jk2.so
这步成功后可以在/usr/local/apache2/modules下看到这个mod_jk2.so文件了。
然后修改apache的配置文件httpd.conf
#cd /usr/local/apache2/conf
#vi httpd.conf
在vi中找到LoadModule这段
:/LoadModule (vi中搜索LoadModule这个字)
找到后加上
LoadModule jk2_module modules/mod_jk2.so
保存退出vi
5、建立相应的文件并测试
在/usr/local/apache2/conf/下建立新文件workers2.properties
在/usr/local/apache2/logs/下建立新文件shm.file
#touch workers2.properties
#vi workers2.properties
内容为
[shm]
file=/usr/local/apache2/logs/shm.file
size=1048576
# Example socket channel, override port and host.
[channel.socket:localhost:8009]
port=8009
host=127.0.0.1
# define the worker
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009
# Uri mapping
[uri:/*]
worker=ajp13:localhost:8009
这里提请注意:
[uri:/*]
worker=ajp13:localhost:8009
这句其实并不是完全正确的。按照这样配置我没有看到想要的结果。在这个地方我卡住了2天。 同时在http://www.linuxsir.org/bbs/showthread.php?t=181402 作者X2X4是这样配置的
[uri:/*.jsp]
worker=ajp13:localhost:8009
并且他的测试方法比较复杂,要配置虚拟主机,要修改tomcat的server.xml并不适合初学者。起 码我是看糊涂了,呵呵。
这里我给一个最简单的测试方法。
同上把
# Uri mapping
[uri:/*]
worker=ajp13:localhost:8009
修改为
# Uri mapping
[uri:/jsp-examples/*]
worker=ajp13:localhost:8009
这是我在参考了《tomcat权威指南》后修改的办法。
然后重新启动apache,tomcat这里注意的地方是,任何时候都要先启动tomcat然后启动apache。
测试
http://localhost
应该看到apache的主页
然后
http://loaclhost/jsp-examples
应该看到tomcat自带的例子主页,点一下excute看看例子是否正常运行。为什么这样配置呢?这 是因为在不修改tomcat的server.xml时,tomcat只认识webapps目录下的文件。如何配置server.xml就不 是本文讨论的内容了。
PS
我在/etc/profile.d中写入的tomcat_apache.sh
/usr/local/tomcat5.0.28/bin/startup.sh start
/usr/local/apache2/bin/apachectl start
总结
到这里,一个新手按照上面的步骤做下来,实现tomcat和apache的整合是没有问题的。
一、概述
经过近3天的摸索,参考linuxsir上的文档。终于将apache + tomcat配置成功。仅以次文向无私分享经验的作者致敬,同时结合自己的实践补充前人在文档中的不足,并记录本人的摸索过程。期望对以后的人有所帮助。
主要参考文档
1、http://www.linuxsir.org/bbs/showthread.php?t=131508 作者iokok
2、http://www.linuxsir.org/bbs/showthread.php?t=181402 作者x2x4
3、O'Reilly 《tomcat权威指南》
其中第1篇文档起了非常重要的参考指导作用。
二、准备
本人系统为RHEL AS3 U6 安装时没有选择安装WEB服务器(强烈建议不要默认安装web服务器)。没有安装开发工具,GCC为装完系统后再装上去的。
apache httpd-2.0.55.tar.gz
tomcat jakarta-tomcat-5.0.28.tar.gz
java j2sdk-1_4_3_11-linux-i586-rpm.bin
jk2 jakarta-tomcat-connectors-jk2-src-current.tar.gz
GCC 为AS3自带rpm包
这些包的下载请到各自的网站下,不知道地方问google。
三、安装
RHEL AS3 的安装在此不再赘述。只是有一点小技巧,就是装的时候把samba装上,配置一个共享目录以供放下载的安装包。samba配置非常简单,如下:
#smbpasswd -a north /*设置samba用户,north是我在系统中已经存在的一个用户*/
/*再设置密码就OK了不用改任何配置你就可以有一个这个用户的home目录的共享*/
1、JDK
#sh j2sdk-1_4_3_11-linux-i586-rpm.bin 安装 jdk
默认JDK目录为/usr/java/jdk-1_4_3_11/ 为了方便做软连接
#ln -s /usr/java/jdk-1_4_3_11/ /usr/jdk
设置java环境变量
export JAVA_HOME=/usr/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASS_PATH=$JAVA_HOME/lib
这里注意几点1、“=”前后没有空格,2“:”是冒号不是“;”分号和windows下的不一样。
基本上大家的设置都是在/etc/profile,/etc/rc.local,这个我没有这样做,我是在 /etc/profile.d这个目录中写的一个脚本java.sh
内容就是上面的3个export为什么这样写,主要是我看了一下/etc/profile下面这段
for i in /etc/profile.d/*.sh;do
if [ -r "$i" ];then
. $i
fi
done
这段就是运行/etc/profile.d目录下面的.sh脚本因此我把java.sh包括后面自动启动tomcat的脚 本我也是放在这里。事实证明效果还是不错,可以用。但是我对/etc/rc.d/rc.sysinit,/etc/rc.local, /etc/rc5.d/, /etc/profile到底有什么区别还是不清楚,这个留待以后研究吧,或者看到这篇文章的朋 友知道的请回帖告诉我。
2、tomcat安装
#gunzip jakarta-tomcat-5.0.28.tar.gz
#tar xvf jakarta-tomcat-5.0.28.tar
#mv jakarta-tomcat-5.0.28 /usr/local/tomcat5.0.28
#cd /usr/local/tomcat5.0.28/bin
#/usr/local/tomcat5.0.28/bin/startup.sh start
测试一下在mozilla中输入http://localhost:8080看看猫有没...²¡什么多说 的。
3、apache安装
安装之前把gcc装上,在linux安装盘中。
#gunzip httpd-2.0.55.tar.gz
#tar -xvf httpd-2.0.55.tar
#cd httpd-2.0.55/bin
#./configure //默认的配置就可以了
#make
#make install
装完不要忘记装httpd-devel
#rpm -q | grep httpd
看看有没有httpd-devel-2.0.46-44.ent,没有的话,在第3张盘里面。不装这个就没有apxs。
4、整合tomcat、apache,安装JK2
#gunzip jakarta-tomcat-connectors-jk2-src-current.tar.gz
#tar xvf jakarta-tomcat-connectors-jk2-src-current.tar
#cd jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2
#./configure --with-apxs2=/usr/local/apache2/bin/apxs /*apache安装目录*/
这一步如果有问题基本上是你忘记装httpd-devel,请装上。
#make
#cd ../build/jk2/apache2
在这个目录中可以看到mod_jk2.so文件
#/usr/local/apache2/bin/apxs -n jk2 -i mod_jk2.so
用apxs编译mod_jk2.so
这步成功后可以在/usr/local/apache2/modules下看到这个mod_jk2.so文件了。
然后修改apache的配置文件httpd.conf
#cd /usr/local/apache2/conf
#vi httpd.conf
在vi中找到LoadModule这段
:/LoadModule (vi中搜索LoadModule这个字)
找到后加上
LoadModule jk2_module modules/mod_jk2.so
保存退出vi
5、建立相应的文件并测试
在/usr/local/apache2/conf/下建立新文件workers2.properties
在/usr/local/apache2/logs/下建立新文件shm.file
#touch workers2.properties
#vi workers2.properties
内容为
[shm]
file=/usr/local/apache2/logs/shm.file
size=1048576
# Example socket channel, override port and host.
[channel.socket:localhost:8009]
port=8009
host=127.0.0.1
# define the worker
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009
# Uri mapping
[uri:/*]
worker=ajp13:localhost:8009
这里提请注意:
[uri:/*]
worker=ajp13:localhost:8009
这句其实并不是完全正确的。按照这样配置我没有看到想要的结果。在这个地方我卡住了2天。 同时在http://www.linuxsir.org/bbs/showthread.php?t=181402 作者X2X4是这样配置的
[uri:/*.jsp]
worker=ajp13:localhost:8009
并且他的测试方法比较复杂,要配置虚拟主机,要修改tomcat的server.xml并不适合初学者。起 码我是看糊涂了,呵呵。
这里我给一个最简单的测试方法。
同上把
# Uri mapping
[uri:/*]
worker=ajp13:localhost:8009
修改为
# Uri mapping
[uri:/jsp-examples/*]
worker=ajp13:localhost:8009
这是我在参考了《tomcat权威指南》后修改的办法。
然后重新启动apache,tomcat这里注意的地方是,任何时候都要先启动tomcat然后启动apache。
测试
http://localhost
应该看到apache的主页
然后
http://loaclhost/jsp-examples
应该看到tomcat自带的例子主页,点一下excute看看例子是否正常运行。为什么这样配置呢?这 是因为在不修改tomcat的server.xml时,tomcat只认识webapps目录下的文件。如何配置server.xml就不 是本文讨论的内容了。
PS
我在/etc/profile.d中写入的tomcat_apache.sh
/usr/local/tomcat5.0.28/bin/startup.sh start
/usr/local/apache2/bin/apachectl start
总结
到这里,一个新手按照上面的步骤做下来,实现tomcat和apache的整合是没有问题的。
相关阅读 更多 +