REHL5系统下jsp环境: Apache2.2.3和Tomcat 5.5.26的整合安装

我们已经知道,Apache只能是单纯支持PHP、Perl、Python的Http服务器,对于ASP、JSP都得需要额外的包才能支持,今天我们主要说说如何支持JSP.

1、准备,下载需要的文件。这里假定你已经正确安装配置好了jdk1.6.0_05。到Apache官方网站下载所需要的文件:
httpd-2.2.3.tar.gz
apache-tomcat-5.5.26.tar.gz
tomcat-connectors-1.2.32-src.tar.gz
其中httpd和tomcat-connectors为源码包,apache-tomcat为二进制包。

2、安装Apache。(跳过这步,使用REHL5默认安装/usr/sbin/httpd)
代码:

# tar xzvf httpd-2.2.3.tar.gz
# cd httpd-2.2.3
# ./configure --prefix=/usr/local/apache2 --enable-so
# make
# make install

看看是否能正常打开http://localhost

注意/etc/httpd/conf/httpd.conf中语句"Include conf.d/*.conf"将包含perl.conf, php.conf, python.conf, ssl.conf, proxy_ajp.conf, auth_mysql.conf等。

3、安装Tomcat。
代码:

# cp apache-tomcat-5.5.26.tar.gz /usr/local/
# cd /usr/local
# tar xzvf apache-tomcat-5.5.26.tar.gz

自己写一个脚本startcat.sh,启动Tomcat.

#!/bin/sh

JAVA_HOME=/scratch/luwang/jdk1.6.0_05
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
CATALINA_HOME=/scratch/luwang/apache-tomcat-5.5.26
export CATALINA_HOME
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/common/lib/servlet-api.jar
export CLASSPATH

echo starting the web server ... ...
echo $CATALINA_HOME/bin/startup.sh
nohup $CATALINA_HOME/bin/startup.sh >$CATALINA_HOME/logs/startcat.log 2>&1 &

打开http://localhost:8080看看正常不。

4、编译生成mod_jk。
代码:

# tar xzvf tomcat-connectors-1.2.32-src.tar.gz
# cd tomcat-connectors-1.2.32-src/native
# ./configure --with-apxs=/usr/sbin/apxs
# make
# cp ./apache-2.0/mod_jk.so /etc/httpd/conf/modules/

5、配置。
在/etc/httpd/conf/下面建立两个配置文件mod_jk.conf和workers.properties。

# vi mod_jk.conf
添加以下内容:
代码:

# 指出mod_jk模块工作所需要的工作文件workers.properties的位置
JkWorkersFile /etc/httpd/conf/workers.properties

# Where to put jk logs
JkLogFile /etc/httpd/logs/mod_jk.log

# Set the jk log level [debug/error/info]
JkLogLevel info

# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

# JkOptions indicate to send SSL KEY SIZE,
JkOptions  +ForwardKeySize +ForwardURICompat -ForwardDirectories

# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"

# 将所有servlet 和jsp请求通过ajp13的协议送给Tomcat,让Tomcat来处理
JkMount /servlet/*  worker1
JkMount /*.jsp worker1
#for webwork
#JkMount /*.action 

注意:最后的几个语句,*.action为配置解析webwork2,这点搞了我两天.同样的,如要用Tomcat解析其它类型,也在这里添加.

# vi workers.properties
添加以下内容:
代码:

# Defining a worker named worker1 and of type ajp13
worker.list=worker1

# Set properties for worker1
worker.worker1.type=ajp13 
worker.worker1.host=localhost 
worker.worker1.port=8009
worker.worker1.lbfactor=50 
#下面这句好象不支持了,还是换了格式?
#worker.worker1.cachesize=10 
worker.worker1.cache_timeout=600 
worker.worker1.socket_keepalive=1 
worker.worker1.socket_timeout=300

再配置/etc/httpd/conf/httpd.conf,作以下修改:
在DirectoryIndex中添加 index.jsp
我的网页放在/var/wwwroot下,所以要修改DocumentRoot
代码:

DocumentRoot "/var/wwwroot"
<Directory "/var/wwwroot">
    Options Includes FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow from all
    XBitHack on  #这行没加,不知道有什么用?
</Directory>
<Directory "/var/wwwroot/WEB-INF">    
    Order deny,allow
    Deny from all
</Directory>

增加关于加载mod_jk的语句:
代码:

LoadModule jk_module modules/mod_jk.so
Include /etc/httpd/conf/mod_jk.conf

最后编辑Tomcat的配置文件server.xml,在HOST段中加入:
代码:

<Context path="" docBase="/var/wwwroot" debug="0" reloadable="true" crossContext="true"/>

在/var/wwwroot下建立一个index.jsp,启动Apache和Tomcat,用浏览器访问http://localhost/,应该可以看到正确的页面了。

如果发现有问题,可以先分别测试Apache和Tomcat,然后再一起测试。

参考资料:
http://www.linuxidc.com/Linux/2007-08/7091.htm
http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html
Tomcat配置技巧Top10

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值