Apache2.2与Tomcat7集成方案详解

原文地址:http://my.oschina.net/u/919173/blog/159206

------------------------------------

首先谈一下为什么要集成Apache和tomcat7? 

     Apache是当前使用最为广泛的WWW服务器软件,具有相当强大的静态HTML处理的能力。 Tomcat服务器是一个免费的开放源代码的Web应用服务器,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。但是其处理静态HTML页面的能力肯定和Apache和IIS这种专业级别的服务器没法比。因此取两者之长避两者之短,将两者进行进行整合达到有点最大化的效果。

     1.安装Apache2.2。 特别说一下这里会提示输入域名之类的窗口,我这里全部填的localhost.端口的话默认的是80,但是这个端口某些时候可能会被占用,所以我在这里改成了8001(在配置文件httpd.conf里也可以修改,具体修改地方为:Listen 8001  修改为指定的端口号)。安装完成后启动服务名为Apache2.2的服务后,在网址里输入:http://localhost:8001,会显示出一个测试的页面:It works! (这个页面放在哪里呢?可以看下C:\Program Files\Apache Software Foundation\Apache2.2这个目录下是不是有个htdocs文件夹,下面是不是有个index.html.以后我们的页面就要放在这个里面。当然你也可以自己定义放在哪里,我在这里就改成了自己创建的WebSite文件夹,然后必须要在httpd.conf里指定为你创建的这个文件夹。配置的地方有2处,看我的配置信息:<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/WebSite">) 

     2.安装tomcat7。其实没什么好安装的,下载下来的都是绿化包,直接解压就可以使用.测试一下:http://localhost:8080  是不是看见一只小猫咪啊?其实我觉得他像一只小老虎。


     3.下载整合插件mod_jk.so。具体在哪儿下载呢?http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/  网址老是变化,具体你就在tomcat官网左侧有个tomcat connectors哪儿慢慢找吧。下载后解压找到mod_jk.so放在apache安装目录下的modules文件夹下,里面是不是有很多的.so文件呢,没错就是这里啦。

     4.在httpd.conf里配置信息。

  # 设置虚拟主机,定义端口为8001,这个和你在前面配置Listen 8001的端口一定是要一样的哦
  <VirtualHost 127.0.0.1:8001>
     ServerName 127.0.0.1
     #定义服务名称
     DocumentRoot "C:/Program Files/Apache Software Foundation/tomcat7/webapps"
     #定义站点项目所在路径,把路径指向 tomcat 中的默认网站目录
     DirectoryIndex index.html index.htm index.jsp
     ErrorLog logs/shsc-error_log.txt
     CustomLog logs/shsc-access_log.txt common
     #例子1,让 Apache 支持对webapps/sun.shop/blog 中页面传送
     JkMount /sun.shop/blog/* config1
     #例子2,向Apache请求此文件夹内页面时,系统将转向用Tomcat解析
     JkMount /*.jsp config1
     #例子3,向 Apache 请求jsp页面时,用 Tomcat 进行解析
     JkMount /*.do config1
     #例子4,向 Apache 请求.do 动作时, 用 Tomcat 进行解析
     JkMount /*.action config1
     #例子5,向 Apache 请求 .action 动作时, 用 Tomcat 进行解析
 </VirtualHost>
 
 # 允许客户端访问此路径
 <Directory "C:/Program Files/Apache Software Foundation/tomcat7/webapps">  
     Options Indexes FollowSymLinks  
     AllowOverride None  
     Order allow,deny  
     Allow from all  
 </Directory>  
 
 LoadModule jk_module modules/mod_jk.so
 # 此处 mod_jk.so 文件为你下载的文件
 JkWorkersFile "C:/Program Files/Apache Software Foundation/tomcat7/conf/workers.properties"
 # 指定tomcat监听配置文件地址
 JkLogFile "C:/Program Files/Apache Software Foundation/tomcat7/logs/mod_jk2.log"
 # 指定日志存放位置
 JkLogLevel info

   5.配置tomcat的conf文件夹下添加workers.properties.具体添加如下内容,自己根据需求修改。

   workers.tomcat_home=C:\Program Files\Apache Software Foundation\tomcat7
   #让 mod_jk 模块感知 Tomcat
   workers.java_home=C:\Program Files\Java\jdk1.7.0_09\jre
   #让 mod_jk 模块感知 jre
   ps=\
   #指定文件路径分割符
   worker.list=config1
   worker.config1.port=8009
  #工作端口,此端口应该与server.xml中Connector元素的 AJP/1.3 协议所使用的端口相匹配
  worker.config1.host=localhost
  #Tomcat服务器的地址
  worker.config1.type=ajp13
  #类型
  worker.config1.lbfactor=1
  #负载平衡因数

   6.测试一下啦。启动apache和tomcat然后在浏览器中输入:http://localhost:8001,这是你会发现我们又看到了那只小老虎(注意我们输入的地址是在访问apache不是在访问tomcat,访问tomcat的地址是:http://localhost:8080)。但是我们的apache的htdocs文件夹下没有这个小老虎的页面呀,这是因为我们集成成功啦。我们在访问.jsp页面的时候,apache会根据请求然后来判断请求页面的类型,当发现是.jsp页面的时候,mod_jk插件就会将请求转达给了tomcat,这时候tomcat会负责处理请求,所以我们会看到了webapps下的那只小老虎。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/539536.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

cocos 制作动态生成内容的列表_零代码工具,让你在线轻松制作交互内容!

在工作中设计师不会写代码&#xff0c;懂代码的不会设计&#xff0c;2种不同工作互掐的情况屡见不鲜&#xff0c;那我们如何把这2项工作一并融合贯通呢&#xff1f;对于不懂代码的职场“小白”&#xff0c;我们可以利用一些零代码工具来完成。今天小编介绍几款在线开发设计工具…

php怎样数据缓存文件,php数据缓存到文件类设计

// 自定义缓存类class Cache_Filesystem {// 缓存写保存function set ($key, $data, $ttl) {//打开文件为读/写模式$h fopen($this->get_filename($key), ‘a‘);if (!$h) throw new Exception("Could not write to cache");flock($h, LOCK_EX); //写锁定&#x…

jsp放在web-inf下的注意事项

原文&#xff1a;http://blog.csdn.net/whatlookingfor/article/details/38381881 ------------------------------------------------- web-inf目录是不对外开放的&#xff0c;外部没办法直接访问到。所有只能通过映射来访问&#xff0c;比如映射为一个action或者servlet通过…

php打印布尔型,PHP数据类型之布尔型的介绍_PHP

布尔类型是PHP中 最简单的类型。它的值可以为 TRUE 或 FALSE。如&#xff1a;$foofalse;$foo1true;echo "为假时输出值为:".$foo; //没有输出值echo "为真时输出值为:".$foo1; //输出1这里主要的细节&#xff1a;当转换为 boolean 时&#xff0c;以下值被认…

oracle 如何终止存储过程的运行

0.查询正在执行的存储过程&#xff1a; select * from v$db_object_cache where locks > 0 and pins > 0 and typePROCEDURE;1. 在V$ACCESS视图中找到要停止进程的SID: 举例&#xff1a;存储过程名&#xff1a;CRH_ENTRY SELECT t.* FROM V$ACCESS t WHERE t.objectCRH_…

python install zabbix.4.0

1.安装 MySQLdb 模块; #!/bin/bash #this is rpm python Environment depends on function depends_rpm(){ yum clean all yum -y install gcc* python-devel python-pip mariadb mariadb-devel mariadb-server if [ $? -eq 0 ]thenpip install MySQL-python1.2.5 elsee…

asp.net 获取全部在线用户_Qamp;A | 在线考试问卷答疑

01.如何批量导入试题&#xff1f;如果您已经在word或者excel中准备好了考试文档&#xff0c;通过批量导入试题的方式&#xff0c;可以让考试问卷的制作更加方便快捷。详细了解批量导入考试的文本格式&#xff1a;【点击此处】02.如何进行考试随机抽题&#xff1f;老师事先建立题…

PHP 框架 模块化,Laravel 的模块化开发框架 Notadd RC1

本文我们要和大家分享 Laravel 的模块化开发框架 Notadd RC1 的介绍&#xff0c;它的优点是修复了首页编辑模式下滚动的BUG (Eleven)&#xff0c;修复了后台菜单管理修改后不跳转的BUG (ganlanshu0211)&#xff0c;修复后台 ESLint 的 Camelcase 的错误 (狒狒)&#xff0c;暂时…

spring mvc 工作流程

1A&#xff09;客户端发出http请求&#xff0c;只要请求形式符合web.xml 文件中配置的*.action的话&#xff0c;就由DispatcherServlet 来处理。 1B&#xff09;DispatcherServlet再将http请求委托给映射器 的对象来将http请求交给对应的Action来处理 2&#xff0…

9-2 链表

package gather;import java.util.LinkedList; import java.util.List; import java.util.ListIterator;public class TestFour {public static void main(String[] args) {// TODO Auto-generated method stub/*** 1、通过整数遍历元素时&#xff0c;不要使用链表结构&#xf…

excel切片器_如何在Excel表格中使用切片器

切片器除了在数据透视表中会使用到&#xff0c;在Excel的表格功能下面&#xff0c;也是可以进行使用的。下面就来介绍一下如何使用切片器这个工具。创建和使用切片器1.首先就是要创建一个表格。选中目标区域&#xff0c;使用快捷键CtrlT&#xff0c;创建一个表格。2.点击“插入…

分阶段付款 学php,项目整理-支付宝的支付问题

支付宝作为一个被广泛使用的支付工具&#xff0c;在是用的时候可以被广泛使用。可以使用demo提取(由于当时开发时SDK下载路径无法下载&#xff0c;直接从DEMO中筛选了需要部分)------------------我是开始开发思路的分割线--------------------------本次主要是APP支付的流程。…

使用sqlldr导入文本数据到oracle

1.sqlldr介绍 用法: SQLLDR keywordvalue [,keywordvalue,...]有效的关键字:userid -- ORACLE 用户名/口令 control -- 控制文件名 log -- 日志文件名 bad -- 错误文件名 data -- 数据文件名 dis…

Mac os区别_SN及Mac地址烧录

platform:RK3399 OS:Android 7.1 参考: 1.比特人生 https://blog.csdn.net/ielife/article/details/86719313 2.KrisFei https://blog.csdn.net/kris_fei/article/details/79447343?ops_request_misc%257B%2522request%255Fid%2522%253A%2522158883304619726869022990%2522%25…

linux 查看数据库和表 mysql 命令

2019独角兽企业重金招聘Python工程师标准>>> 查看是否有安装数据库 &#xff1a;rpm -qa|grep -i mysql 如图已安装&#xff1a; 未安装&#xff1a; 查看MySQL版本的四种方法 1 在终端下执行 mysql -V 2 在help中查找 mysql --help |grep Distrib 3 在mysql 里查看…

php mvc 逻辑层在哪,mvc的业务逻辑应该放哪里?

背景: 基于laravel的后台管理系统&#xff0c;CURD密集型业务问题&#xff1a;当直接在控制器方法中调用orm处理业务逻辑时&#xff0c;代码复用性差&#xff0c;控制器层很肥尝试解决&#xff11;&#xff1a;新建一个model层&#xff0c;将原先在控制器中的处理逻辑移到mode…

servlet/filter/listener/interceptor区别与联系

下面从几个方面阐述一下题目中四个概念的区别与联系&#xff1a; 1、概念 2、生命周期 3、职责 4、执行过程 一、概念&#xff1a; 1、servlet&#xff1a;servlet是一种运行服务器端的Java应用程序&#xff0c;具有独立于平台和协议的特性&#xff0c;并且可以动态的生成web页…

电脑系统哪个最好用_袪痘袪痘印哪个产品最好 祛痘印最好用的产品十大推荐...

原标题&#xff1a;袪痘袪痘印哪个产品最好 祛痘印最好用的产品十大推荐痘痘下去了&#xff0c;痘印却顽固不化。有些痘印如果不及时修复&#xff0c;会留下疤痕和坑。我们真的不敢去想他们。所以有痘印痘印的时候一定要及时使用护肤品&#xff0c;不要在脸上留下什么遗憾&…

python中集合符号,Python 集合符号

Android SDK Manager 无法下载更新&#xff0c;或者更新速度超慢&#xff0c;或者待安装包列表不显示解决方法: 转自 http://www.cnblogs.com/tc310/archive/2012/12/21/2828450.html http://jingyan.baidu.com/artic ...AJAX学习AJAX即“Asynchronous Javascript And XML”(异…