Apache2与tomcat5.0整合

发表于:2007-07-04来源:作者:点击数: 标签:
linux下 Tomcat 5.0.18 与 Apache 2 安装/集成/配置 linux下Tomcat 5.0.18 与 Apache 2 安装/集成/配置 1,首先apache2。我们使用源代码编译安装: 1.1,从http://archive.apache.org/dist/httpd/ 下载httpd-2.0.50.tar.gz,放至 Linux 服务器 中; 1.2,tar

linux下Tomcat 5.0.18 与  Apache 2 安装/集成/配置

linux下Tomcat 5.0.18 与  Apache 2 安装/集成/配置


1,首先apache2。我们使用源代码编译安装:
1.1, 从http://archive.apache.org/dist/httpd/下载httpd-2.0.50.tar.gz,放至Linux服务器中;
1.2, tar zxvf httpd-2.0.50.tar.gz,将包解出来;
 ./configure -prefix=/usr/local/apache2 -enable-so
 make
 make install


2,安装JDK。在java.sun.com上下载J2SDK1.4版,安装,并在/etc/profile中加入以下几句,以设置JAVA_HOME和classpath环境变量:
JAVA_HOME=/root/jdk_nb/jdk;export $JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin


3,安装tomcat。在http://archive.apache.org/dist/jakarta/tomcat-5/archive/v5.0.18/bin/上下载
jakarta-tomcat-5.0.18.tar.gz,放至Linux服务器中:
3.1, tar zxvf jakarta-tomcat-5.0.18.tar.gz
 在/etc/profile中加入TOMCAT_HOME环境变量;
 TOMCAT_HOMT/bin/catalina.sh start直接就可以启动使用。


4,编译和设置mod_jk2。在http://archive.apache.org/dist/jakarta/tomcat-connectors/jk2/中下载jakarta-tomcat-connectors-jk2-src-current.tar.gz,放至LINUX服务器上:
 tar zxvf jakarta-tomcat-connectors-jk2-src-current.tar.gz
 cd jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2
 ./buildconf.sh
 ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-java-home=/root/jdk_nb/jdk(具体路径根据JDK安装路径调整)
 make jk2-build-apxs
 cd server/apache2
 make -f Makefile.apxs install
成功执行完这几步骤之后,mod_jk2已经装好,接下来是配置阶段。


5,Apache配置。打开apache2/conf/httpd.conf:
5.1,更改listen端口,与自己的IP匹配,并加入一句,以载入mod_jk2模块:
 Listen 192.168.1.11:80
 LoadModule jk2_module modules/mod_jk2.so
5.2,将AddDefaultCharset ISO-8859-1一句注释掉,以根除可能的中文乱码问题;
5.3,在apache2/conf/新写一文件workers2.properties,内容如下:
#---- worker2.properties

[logger.apache2]
level=DEBUG

# Shared memory handling. Needs to be set.
[shm]
file=/usr/local/apache2/logs/shm.file
size=1048576

# Example socket channel, explicitly set port and host.
[channel.socket:localhost:8009]
tomcatId=localhost:8009
port=8009
host=127.0.0.1

# define the worker
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009

#[status:status]

# Uri mapping

#[uri:/jkstatus/*]
#group=status:status

#[uri:/jsp-examples/*]
#group=ajp13:localhost:8009

#[uri:/servlets-examples/*]
#group=ajp13:localhost:8009

#[uri:/javaapp/*]
#group=ajp13:localhost:8009

#[uri:www.home.net/*.jsp]
#worker=ajp13:localhost:8009

#[uri:10.0.0.10/*]
#worker=ajp13:localhost:8009

#---- end of workers2.properties
当然,也可以删除其中的注释符使其中的uri和worker的配置生效,现在不用这种方式配置是因为找到一个更好的方法:在httpd.conf里面配置:
加入一段VirtualHost在apache2/conf/httpd.conf:


        ServerName localhost
        DocumentRoot /sol/people/web/admin/
        DirectoryIndex index.htm index.html default.htm index.php index.jsp
       
            JkUriSet worker ajp13:localhost:8009
       

        ErrorLog logs/SportOnline_1-err_log
        CustomLog logs/SportOnline_1-aclearcase/" target="_blank" >cc_log common

在VirtualHost之前,加入以下代码,可以从全局避免用户用apache访问WEB-INF目录:


    Order allow,deny
    Deny from all


6,Tomcat配置。打开tomcat/conf/server.xml,确认以下一段代码没有被注释掉,以使apache能够将jsp请求通过8009端口转至tomcat处理:

         debug="0" protocol="AJP/1.3" />

还请确认tomcat的服务端口和apache的服务端口不冲突。本例中apache使用80端口,tomcat使用8080端口。


7,如果linux服务器已安装的有apache服务器,为使不影响我们的apache,需要更改/etc/rc.d/init.d/httpd这个启动脚本文件:
 vi /etc/rc.d/init.d/httpd
更改以下三个属性:
 将apachectl=/usr/sbin/apachectl改为:
 apachectl=/usr/local/apache2/bin/apachectl
 将httpd=/usr/sbin/httpd改为:
 httpd=/usr/local/apache2/bin/httpd
 将CONFFILE=/etc/httpd/conf/httpd.conf改为:
 CONFFILE=/usr/local/apache2/conf/httpd.conf
完成之后,可以通过service httpd restart重新启动我们需要的apache服务。

================================================================
这样就可以为每个不同的虚拟主机分别指定使用或者不使用jsp功能。
配置完成。

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