`

RHEL5整合Apache+Tomcat,支持jsp与php

    博客分类:
  • Web
阅读更多
配置环境:
OS: RHEL5 with kernel 2.6.18-8.1.1.el5
httpd-2.2.3-6.el5.i386.rpm
apache-tomcat-6.0.14.tar.gz
jdk-6u3-linux-i586.bin
mod_jk-1.2.23-apache-2.2.x-linux-i686.so
官方宣称mod_jk-1.2.26-httpd-2.2.6.so支持Apache 2.2.x及2.2.6以后的版本,但经实验,1.2.26的mod_jk在RHEL5中会报错。

下载地址:
http://java.sun.com/javase/downloads/index.jsp
http://www.apache.org/dist/tomcat/tomcat-connectors
http://apache.mirror.phpchina.com/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.23/
一、安装配置jdk及tomcat
1、安装jdk及tomcat
[root@wardking ~]# tar zxvf apache-tomcat-6.0.14.tar.gz -C /usr/local/
[root@wardking ~]# mv jdk-6u3-linux-i586.bin /usr/local/
[root@wardking ~]# cd /usr/local
[root@wardking ~]# chmod a+x jdk-6u3-linux-i586.bin
[root@wardking ~]# ./jdk-6u3-linux-i586.bin


2、配置环境
[root@wardking ~]# ln -sf /usr/local/apache-tomcat-6.0.14 /usr/local/tomcat
[root@wardking ~]# ln -sf /usr/local/jdk1.6.0_03 /usr/local/jdk6
[root@wardking ~]# ln -sf /usr/local/jdk6/bin/java /usr/bin/
[root@wardking ~]# ln -sf /usr/local/tomcat/bin/startup.sh /usr/bin/tomcat-up
[root@wardking ~]# ln -sf /usr/local/tomcat/bin/shutdown.sh /usr/bin/tomcat-down

添加一个名为“michael”的管理员用户
[root@wardking ~]# vi /usr/local/tomcat/conf/tomcat-users.xml
<user username="michael" password="123456" roles="manager,admin"/>

设置环境变量
[root@wardking ~]# vi /etc/profile
JAVA_HOME=/usr/local/jdk6
CATALINA_HOME=/usr/local/tomcat
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/lib/servlet-api.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CATALINA_HOME CLASSPATH PATH
[root@wardking ~]# source /etc/profile

3、测试tomcat服务
[root@wardking ~]# /usr/bin/tomcat-up
或者直接执行
/usr/local/tomcat/bin/startup.sh

检查tomcat是否启动
[root@wardking ~]# netstat -anp | grep 8080

在浏览器里访问http://localhost:8080/,可以看到tomcat的网页界面,并可以使用
用户“michael”登陆管理
停止tomcat服务
# tomcat-down

二、连接tomcat到apache
1、安装mod_jk模块
# cp mod_jk-1.2.23-apache-2.2.x-linux-i686.so /etc/httpd/modules/

2、修改apache配置文件
[root@wardking ~]# cat /etc/httpd/conf.d/mod_jk.conf
LoadModule jk_module modules/mod_jk-1.2.23-apache-2.2.x-linux-i686.so
JkWorkersFile "/etc/httpd/conf/workers.properties"
JkShmFile /var/log/httpd/mod_jk.shm
JkLogFile "/var/log/httpd/mod_jk.log"
JkLogLevel info
JkMount /*/servlet/* ajp13
JkMount /*.jsp ajp13
JkMount /*.do ajp13
AddType application/x-jsp .jsp

3、添加tomcat配置文件
[root@wardking ~]# vi /etc/httpd/conf/workers.properties
[shm]
file=/etc/httpd/logs/shm.file
size=1048576
[channel.socket:localhost:8009]
tomcatId=localhost:8009
[uri:/jsp-examples/*]
workers.tomcat_home=/usr/local/tomcat
workers.java_home=/usr/local/jdk6
ps=\
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1

4、设置tomcat主目录
[root@wardking ~]# vi /usr/local/tomcat/conf/server.xml
      <Host name="localhost"  appBase="/var/www/html/"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
        <Context path="" docBase="" debug="0"/>

5、确认apache、tomcat启动

[root@wardking ~]# httpd -t
[root@wardking ~]# service httpd restart
[root@wardking ~]# /usr/bin/tomcat-up

6、分别测试访问php和jsp网页
[root@wardking ~]# vi /var/www/html/showtime.jsp
<%@page language="java" import="java.util.*"%>
Now Time is : <% out.println(new Date()); %>
[root@wardking ~]# echo '<?php phpinfo(); ?>' > phpinfo.php

在浏览器中访问http://localhost/showtime.jsp,应在网页中显示系统时间
访问http://localhost/phpinfo.php,显示php及服务器相关配置信息

另一种整合办法,在httpd.conf中使用反向代理:
ProxyPass /images !
ProxyPass /icons !
ProxyPass / ajp://127.0.0.1:8009/
ProxyPassReverse / ajp://127.0.0.1:8009/


Dec 31, 2008更新:
当遇到mod_jk.c (3033): missing uri map错误时,通常是在httpd.conf中配置了虚拟主机,那么应该在每一个VirtualHost部分加入JkMountCopy On。如果拥有很多虚拟主机配置段,可以使用在全部配置中写入JkMountCopy All。

原文说明如下:
引用

Hi Haroon,

the change in the status worker display that you noticed is not directly
related to your problem, only so far, as we changed a couple of things
around the mount tables.

The good: more information in the status worker.

The ugly: stricter handling of JkMount/JkMountFile etc. with respect to
virtual hosts. It should have behaved for a long time in the way, that
mounts are not inherited between virtual hosts and also not from the
global server to any virtual host.

The debug log statement you cite indicates, that there is no mount known
in a virtal host you are using.

So first question: Do you have an VirualHost in your apache httpd
configuration?

If so: first find out, which VirtualHost handles your requests. This
might be trivial, in some cases it is not trivial. If you are not sure,
you can configure a different CustomLog in the global server and for
wach VirtualHost and then check, in which CustomLog your request got logged.

Once you know, which VirtualHost handles your request, you can either:

- define all relevant JkMount/JkUnMount/JkMountfile in the VirtualHost

or

- define them globally and copy all of them into the VirtualHost by
setting "JkMountCopy On" inside the virtual host.

In case you have lots of VirtualHost and you want them all to share
several JkMounts, put them into the global server and add "JkMountCopy
all" to the global server.

I hope that is understandable?

Regards,

Rainer
分享到:
评论

相关推荐

    在RedHat_AS5.0下搭建Apache+MySQL+PHP+Tomcat+JSP平台

    在Red Hat AS5.0操作系统下搭建Apache+MySQL+PHP+Tomcat+JSP平台是一项常见的Web服务配置任务,这个组合常被称为LAMP(Linux + Apache + MySQL + PHP)加上JSP支持,提供了强大的Web应用环境。以下是详细的搭建步骤...

    Apache+tomcat实现负载均衡

    Apache和Tomcat是两个在Web开发领域广泛应用的开源软件。Apache作为HTTP服务器,负责处理静态内容,而Tomcat则是Java应用服务器,主要处理Servlet和JSP等动态内容。当面对高并发访问时,单个服务器可能无法有效应对...

    RHEL6下Apache和Tomcat安装整合

    在RHEL6操作系统中,Apache和Tomcat的安装整合是一个常见的任务,这使得Apache能够作为一个Web服务器处理静态内容,而Tomcat则负责处理动态内容,如JSP程序。以下是详细的步骤: 1. **Apache的安装**: - 首先,你...

    最新版linux apache-tomcat-10.0.0-M7.tar.gz

    Apache Tomcat是一款开源的Java应用服务器,主要用于运行Java Servlet和JavaServer Pages(JSP)技术。它是Apache软件基金会的一部分,并且遵循Apache许可证,这使得它免费且可广泛使用。在这个最新的Linux版本...

    Liunx 下 nginx+tomcat 集群建设

    本主题将深入探讨如何在Linux环境下利用Nginx与Tomcat构建服务器集群,以实现负载均衡和优化性能。Nginx以其高性能的反向代理和静态文件处理能力而闻名,而Tomcat作为Java应用服务器,擅长运行Java Servlets和JSP。...

    apache-tomcat-7.0.54.zip

    这个版本的Tomcat是Apache软件基金会发布的一个稳定版本,提供了对Java EE 6规范的支持。在Linux环境下,配置和运行Apache Tomcat对于开发和部署基于Java的Web应用至关重要。 首先,我们需要了解Linux操作系统的...

    apache-tomcat-8.5.14.zip

    Apache Tomcat 8.5.14 是一个广泛使用的开源软件,它是一个符合Java Servlet和JavaServer Pages(JSP)规范的应用服务器,主要用于部署和运行Java Web应用程序。这个版本是针对Linux操作系统的,这意味着它已经过...

    apache tomcat linux

    Apache Tomcat是一款开源的Java Servlet容器,主要用于部署和运行Java Web应用程序,包括JavaServer Pages (JSP) 和Java Servlets。它是由Apache软件基金会开发和维护的,与Apache HTTP Server(通常简称为httpd)...

    apache-tomcat-6.0.53.tar.gz

    Apache Tomcat 6.0.53 是一个广泛使用的开源软件,它是一个实现了Java Servlet和JavaServer Pages(JSP)规范的应用服务器。Tomcat作为轻量级应用服务器,尤其适用于小型到中型的Web应用程序。在Linux环境中部署和...

    apache-tomcat;jdk-8u201-linux-x64;mysql;nginx;redis

    1. **Apache Tomcat**:Apache Tomcat 是一个开源的Servlet容器,它实现了Java Servlet和JavaServer Pages (JSP) 规范,用于部署和运行Java Web应用程序。Apache Tomcat 8.5.27是其中的一个稳定版本,提供高效且可靠...

    linux_tomcat.rar

    在Linux操作系统中,Apache Tomcat是一个广泛使用的开源Java Servlet容器,它能够运行Java Web应用程序,包括JSP和Servlet。本教程将深入讲解如何在Linux系统上安装和配置Tomcat,以及如何部署和管理Web应用。 1. *...

    Red_Hat(LINUX)下JDK TOMCAT(x64)环境配置 自启动设置

    ### Red Hat (LINUX) 下 JDK TOMCAT (x64) 环境配置与自启动设置 在本文中,我们将详细介绍如何在 Red Hat Enterprise Linux 4 (x86_64) 操作系统上安装并配置 JDK 1.6 和 Tomcat 6,以及如何设置它们为系统自启动...

    tomcat Linux版.zip

    Apache Tomcat是一款开源的Java Servlet容器,主要用于运行Java Web应用程序,包括JSP和Servlet。Linux作为一款稳定且广泛使用的服务器操作系统,是部署Tomcat的常见平台。 【描述】"tomcat Linux版" 提示我们将...

    RHEL3U6下MAP TOMCAT JDK MYSQL连接池配置

    3. **TOMCAT**:Apache Tomcat是一个开源的Java Servlet容器,用于部署和运行Java EE应用,尤其是JSP和Servlet。 4. **JDK**:Java Development Kit,是开发和运行Java应用程序的必备软件包,包括JRE(Java Runtime...

    linux tomcat7

    Linux下的Tomcat7是一款广泛应用的开源Java应用服务器,主要用于运行基于Java Servlet和JavaServer Pages(JSP)的应用程序。Tomcat7是Apache软件基金会的Jakarta项目的一部分,它以其轻量级、高效和稳定性受到...

    Tomcat7(Linux)

    5. **启动与停止Tomcat**:在Tomcat的bin目录下,使用`./startup.sh`启动Tomcat,`./shutdown.sh`停止服务。也可以将Tomcat设置为系统服务,使其能随系统启动自动运行。 6. **防火墙配置**:若Linux系统启用了...

    tomcat7-linux

    【标题】"Tomcat7在Linux环境下的部署与配置" 【描述】在Linux系统中运行Apache Tomcat 7是许多开发者和系统管理员的选择,因为Linux以其稳定性和安全性著称,而Tomcat作为开源的Java应用服务器,是部署Servlet和...

Global site tag (gtag.js) - Google Analytics