热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

Apache与tomcat的整合安装与配置方法

一.首先还是引用一个别人的帖子,然后做一些说明,不对的地方还请各位指正。二.单独使用Tomcat做JSP服务器,在工作效率上会有问题,并且所能承受的最大并发连接数也有一定的限制;经测试,当并发连接较多时,Tomcat就会处于“僵死”状态,对后继的请求连接
一.首先还是引用一个别人的帖子,然后做一些说明,不对的地方还请各位指正。

二.
  单独使用Tomcat做JSP服务器,在工作效率上会有问题,并且所能承受的最大并发连接数也有一定的限制;经测试,当并发连接较多时,Tomcat就会处于“僵死”状态,对后继的请求连接失去响应。所以现在就有了一些“整合”解决方案:
  将html与jsp的功能部分进行明确分工,让tomcat只处理jsp部分,其它的由apache,IIS等这些web server处理,由此大大节省了tomcat有限的工作“线程”。
  当然,使用IBM Websphere、BEA Weblogic、JBOSS等这些 J2EE服务器会是一个更好的解决方案,但只有应用EJB才会发挥这些J2EE服务器的强大功能。
  所以在这里,推荐Apache + Tomcat的“黄金组合”。在网上查找了一些资料,然后自己动手实验,折腾了近1个小时,终于搞掂!现将具体过程总结如下,希望对大家能有所帮助:

  我的运行环境:Windows2k Server SP4 + J2SDK1.42 + Apache2.049 + Tomcat5.019 + SQL server2k
  **准备软件:
  1、Apache 2.0.49   2、Tomcat 5.0.19   3、Jk2连接器(mod_jk2.so)

  **开始安装:(这里的安装路径是任选的,只要视你的实际情况略做修改即可)
  Apache安装在H:ApacheApache2 下,监听端口 80;Tomcat在H:ApacheTomcat5.0 下,监听端口 8080;
  两者都以windows NT服务进行安装。
  将mod_jk2.so复制到H:ApacheApache2modules目录下:
  1.编辑H:ApacheApache2confhttpd.conf文件,在LoadModule那一段代码中添加:
  LoadModule jk2_module modules/mod_jk2.so
  2.将AddDefaultCharset ISO-8859-1 改为 AddDefaultCharset GB2312 使Apache自动支持中文显示;
  3.在“虚拟主机配置代码段”中添加:(此段配置可以根据你的实际情况进行修改)
  
    ServerAdmin Pentium4xeon@etang.com
    DocumentRoot "H:/Apache/Tomcat5.0/webapps/ROOT"
    ServerName www.sdg.com
    ErrorLog logs/sdg.com-error_log
    CustomLog logs/sdg.com-access_log common
  

  **编写workers2.properties文件并加入H:ApacheApache2conf目录,内容如下:
  [shm] 
  file=${serverRoot}/logs/shm.file 
  size=1048576 
  #The socket channel
  [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:/*.jsp] 
  worker=ajp13:localhost:8009

  **由于tomcat5.019安装时已经有了 jk2.properties 文件,所以在这里就不用自己写了。(或许这就是高版本的好处之一吧 *^_^*)

  **编写一个普通的html文件(index.html)与一个jsp文件(test.jsp),放在H:ApacheTomcat5.0webappsROOT 下;现在最好重新启动一下计算机。
  重新启动以后,启动apache和tomcat,http://www.server110.com该是和http://www.server110.com:8080一样的了---显示的都是index.html;
  现在可以测试一下 test.jsp 了,http://www.server110.com/test.jsp,怎么样,顺利通过了吧?

  **下面测试Tomcat连接池部分,将网站的所有文件(html + jsp + javaBean + servlet)拷贝至H:ApacheTomcat5.0webappsROOT 下,配置tomcat的server.xml文件,添加连接池。在我这儿,经过测试,所有的功能部分都能正常工作。

  下载:mod_jk2.so

  *********后**********记*************************
  1. 如果你的主页是JSP页面,你还需要配置一项:

  DirectoryIndex index.html index.html.var index.jsp

  加上index.jsp就可以了 *^_^* 

  2. warning:
  ------------**整合以后,工作一直正常,但偶然打开了Apache的 error.log文件,被吓出一身冷汗~~~~有N多的错误,有一行最显眼儿:
  No such channel port:localhost:8019
.....Ajp13xx failed!

再仔细看了一下 worker2.properties 文件,发现里面有一项设置:
[ajp13:localhost:8019] 
channel=channel.socket:localhost:8009 

错误指的8019端口就是这个了~ 随即将 8019 改为 8009~ 现在再也没出现这个问题了~看来网上的资料有些时候不一定是最准确的......(可能是笔误吧~~~) :P

**---由此给大家带的不便,我深表歉意! 

3. 又发现一个配置上的“小问题”----

虚拟主机有一项配置:DocumentRoot项,如果按照
DocumentRoot "H:ApacheTomcat5.0webappsROOT" 配置的话,主机也能正常工作,但如果这时打开 logs/sdg.com-error_log 文件,就会发现有一行错误提示:

**warning: "H:ApacheTomcat5.0webappsROOT" doesn't exist!

经尝试,若改成:
DocumentRoot "H:/Apache/Tomcat5.0/webapps/ROOT"
则完全没有任何警告信息出现在 error_log文件中~

三.我自己的配置及重要参数说明(winxp+tomcat5.0.14+apache2.0.52):
   tomcat安装目录:F:/Tomcat,在webapps有一个应用项目yedongshu
   apache安装目录:F:/Apache2052
我的workers2.properties:
[shm]
file=${serverRoot}/logs/shm.file
size=1048576
#The socket channel
[channel.socket:localhost:8009]
port=8009
host=127.0.0.1
#define the worker
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009
# Map the Tomcat examples webapp to the Web server uri space 
[uri:/yedongdshu/WEB-INF/*]
[uri:/*.jsp]
info=Map the whole webapp
关于workers2.properties的说明:
[uri:/yedongdshu/WEB-INF/*]
[uri:/*.jsp]表示遇到javabean,servlet,jsp时,apache统一交给tomcat处理。
我的httpd.conf:
修改安装目录下的Apache2confhttpd.conf文件,
  1.在LoadModule那一段代码中添加:
    LoadModule jk2_module modules/mod_jk2.so
  2.将AddDefaultCharset ISO-8859-1 改为 AddDefaultCharset GB2312 使Apache自动支持中文显示;
  3.在“httpd.conf最后添加:(此段配置可以根据你的实际情况进行修改)
      
        ServerAdmin yds@163.com
        DocumentRoot "F:/Tomcat/webapps/yedongshu"
        ServerName 212.20.36.215
        ErrorLog logs/my-error_log
        CustomLog logs/my-access_log common
    
 4.如果你的主页是JSP页面,你还需要配置一项:
   DirectoryIndex index.html index.html.var index.jsp
我的server.xml(F:/Tomcat/conf/server.xml):
在最后的前面加上一行:
path表示你访问时用到的目录,docBase表示你的应用项目,这里我就可以用http://212.20.36.215直接访问了.


推荐阅读
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • 从CodeIgniter中提取图像处理组件
    本指南旨在帮助开发者在未使用CodeIgniter框架的情况下,如何独立使用其强大的图像处理功能,包括图像尺寸调整、创建缩略图、裁剪、旋转及添加水印等。 ... [详细]
  • 在尝试启动Java应用服务器Tomcat时,遇到了org.apache.catalina.LifecycleException异常。本文详细记录了异常的具体表现形式,并提供了有效的解决方案。 ... [详细]
  • MySQL Administrator: 监控与管理工具
    本文介绍了 MySQL Administrator 的主要功能,包括图形化监控 MySQL 服务器的实时状态、连接健康度、内存健康度以及如何创建自定义的健康图表。此外,还详细解释了状态变量和系统变量的管理。 ... [详细]
  • Centos7 Tomcat9 安装笔记
    centos7,tom ... [详细]
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • Asynchronous JavaScript and XML (AJAX) 的流行很大程度上得益于 Google 在其产品如 Google Suggest 和 Google Maps 中的应用。本文将深入探讨 AJAX 在 .NET 环境下的工作原理及其实现方法。 ... [详细]
  • JavaScript 跨域解决方案详解
    本文详细介绍了JavaScript在不同域之间进行数据传输或通信的技术,包括使用JSONP、修改document.domain、利用window.name以及HTML5的postMessage方法等跨域解决方案。 ... [详细]
  • 搭建个人博客:WordPress安装详解
    计划建立个人博客来分享生活与工作的见解和经验,选择WordPress是因为它专为博客设计,功能强大且易于使用。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 流处理中的计数挑战与解决方案
    本文探讨了在流处理中进行计数的各种技术和挑战,并基于作者在2016年圣何塞举行的Hadoop World大会上的演讲进行了深入分析。文章不仅介绍了传统批处理和Lambda架构的局限性,还详细探讨了流处理架构的优势及其在现代大数据应用中的重要作用。 ... [详细]
author-avatar
时尚妈咪达人都_354
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有