网上已经有很多类似的文章,这里着重解释一些初学者难以理解的问题,以及谈一谈自己的体会.
花了几天时间摸索apache和tomcat在linux下的整合问题,略有收获.写出来与大家共享,希望对您有所启发.
网上已经有很多类似的文章,这里着重解释一些初学者难以理解的问题,以及谈一谈自己的体会.
1.准备文件并解压缩至/temp/:
apr-0.9.1.tar.gz
httpd-2.0.40.tar.gz
j2sdk-1_4_1_02-linux-i586-rpm.bin(直接运行)
jakarta-tomcat-4.1.18.tar.gz
jakarta-tomcat-connectors-4.1.27-src.tar.gz
注; 这些文件在其官方网页上下载较慢,但都可以在天网上找到.
然后将生成的jakarta-tomcat-4.1.18/ 和 jakarta-tomcat-connectors-4.1.27-src/ 拷贝至/opt/下
#cp -r jakarta-tomcat-4.1.18/ /opt/
#cp -r jakarta-tomcat-connectors-4.1.27-src/ /opt/
2.安装JDK(java development Kit)
#rpm -ivh j2sdk-1_4_1_02-fcs-linux-i586.rpm
默认安装目录是/usr/java/j2sdk1.4.1_02/
3.设定环境变量:
在/etc/profile中,加入:
#java environment variable settings
JAVA_HOME=/usr/java/j2sdk1.4.1_02
export JAVA_HOME
CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export CLASSPATH
CATALINA_BASE=/opt/jakarta-tomcat-4.1.18
export CATALINA_BASE
CATALINA_HOME=/opt/jakarta-tomcat-4.1.18
export CATALINA_HOME
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
需重启才能生效.
测试JDK:运行
# java -version
# javac -version
看到版本信息则JDK安装成功
测试tomcat:运行
# /opt/jakarta-tomcat-4.1.18/bin/startup.sh
在浏览器中输入: http://ip地址:8080
能看到tomcat页则安装成功.
4.安装apache
进入apache的解压目录 /temp/httpd-2.0.40/
config.layout文件确定了各种风格的apache的各安装目录. 这里将选择RedHat. 建议将文件中RedHat的prefix改为/etc/httpd .
# ./configure --enable-layout=RedHat --enable-module=so
-- 生成makefile 文件. 这里选择了config.layout文件中的RedHat设置. 并采用DSO(Dynamic Shared Object)方式编译
# make
-- 编译
# make install
-- 安装
测试apache:运行
# /etc/httpd/sbin/apachectl start
在浏览器中输入: http://ip地址
能正确显示则安装成功.
5.编译Jakarta-Tomcat-connectors
# cp -r /temp/apr-0.9.1/ /opt/jakarta-tomcat-connectors-4.1.27-src/webapp/apr
-- 将apr-0.9.1/目录拷贝并改名
# cd /opt/jakarta-tomcat-connectors-4.1.27-src/webapp
-- 进入目录
# ./support/buildconf.sh
-- 生成编译配置文件
# ./configure --with-apxs=/etc/httpd/sbin/apxs
-- 生成Makefile编译文件.这里指明了apxs文件的位置.它可能根据apache安装目录的不同而不同.
# make
-- 编译生成mod_webapp.so
# cp apache-2.0/mod_webapp.so /etc/httpd/lib/apache/
-- 将mod_webapp.so 拷贝. 这里的目的目录其实可以任意指定,但必需与以后httpd.conf中的设置对应.
这里是一个习惯的位置.
6.修改/etc/httpd/conf/httpd.conf
1)在# Dynamic Shared Object (DSO) Support之后,添加如下内容(第230行左右):
LoadModule webapp_module /etc/httpd/lib/apache/mod_webapp.so
-- 加载我们刚刚编译的模块mod_webapp
2)在文件尾部添加如下内容:
WebAppConnection warpConnection warp localhost:8008
WebAppDeploy examples warpConnection /examples/
--建立于tomcat的关联, 并设定虚拟目录 /examples/
如果计算机有自己的域名(在/etc/hosts文件中可以设),就用它代替localhost,并在ServerName处
(大概在290行)添加
ServerName your_domain_name:80
3)为了让apache更好支持中文,将AddDefaultCharset ISO-8859-1改为
AddDefaultCharset off
4)语法检查:运行
# /etc/httpd/sbin/apachectl configtest
如果显示Syntax OK, 则语法正确
否则根据提示查看httpd.conf的修改是否正确
5)修改/opt/jakarta-tomcat-4.1.18/conf/server.xml文件
默认情况下与8008端口相关的信息是被注释掉了,需要删掉注释的语句.
如果是比tomcat4.1.18更高的版本,里面可能没有这不分内容.那就将如下文本拷贝到文件最后
在最后一行 之前:
enableLookups="true" appBase="webapps"
acceptCount="10" debug="0"/>
timestamp="true"/>
7.整体测试
运行:
# /opt/jakarta-tomcat-4.1.18/bin/shutdown.sh
# /opt/jakarta-tomcat-4.1.18/bin/startup.sh
# /etc/httpd/sbin/apachectl restart
在浏览器中输入如下地址
http://服务器IP/examples/jsp/index.html,如果能够显示正常的网页,则安装成功
然后选择几个jsp的例子,出现动态网页的话,安装就成功了.
8.几点补充:
1)apache和tomcat的整合令人感觉并不完善.jsp动态网页只能通过apache的虚拟目录访问, 即不能正常访问
apache默认目录下的动态网页.哪位高人知道解决方法,还望不吝赐教.
2)如果要在计算机启动的时候就运行httpd服务,可以在/etc/rc.d/rc.local文件中加入这几行:
#start apache
/etc/httpd/sbin/apachectl start
#start tomcat
/opt/jakarta-tomcat-4.1.18/bin/startup.sh
3)为了接收外部访问,别忘了打开防火墙http的端口:
# setup
-> Firewall Configuration
4)在实验和撰写本文过程中,参考了很多大牛们的文章,这里一并表示感谢.文中难免有谬误疏漏之处,还望各?
批评指正.
surfingbean
surfingbean@yahoo.com
'
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/