Apache和Tomcat的整合
1、web架构
首先上图,解释web通用架构
通常情况下分为三大块 :
★ Web server : 通常情况下由 Apache Http Server 、 IBM Http Server 、IIS(很少用到) 组成,可以是一个或者多个 ,企业应用程序走WebServer访问,防止将应用EAR包、War
包暴漏在外网环境,增加系统的安全性,同时可用来分发用户请求(在集群的环境下),解析静态文件(例如js,img,css等文件)降低应用程序的压力(在很多应用程序中访问静态文件走的是系统Action
来获取,这样子达不到降压的效果,WebServer组件会将其当作为动态资源去获取).
★ App Server : 通常为我们的web容器 Tomcat、Weblogic、WebSphere、Jboss 等 ,应用程序运行在web容器中,应用服务器一般都有多个,其和WebServer的链接必定是通过企业内网
如果是外网链接那么这样的架构也就失去了意义 .
★ DB Server : 这个一看就知道是什么了,数据库服务器 .
生产环境下,外网用户通过WebServer层来访问系统,在安全性要求不是非常高的情况下,内网用户可以直接访问AppServer,一般情况下企业员工也不会对企业应用进行攻击,如果存在这样的人,那
就要从自身素质考虑的 嘿嘿...
2、Apache + Tomcat
Ⅰ说明
Apache Http Server 为apache下opensource项目,是应用比较广泛的Web Server组件,可以到官网下载安装http://httpd.apache.org/
Ⅱapache的安装
实验环境在window下直接双击安装程序进行安装,在Linux下请参考官网指南 http://httpd.apache.org/docs/2.2/install.html 写的很详细.
Next 到下面的界面
Server Name 需要配置正确,使用计算机名(保证能ping通) 如图 :
填写完毕后继续Next
选择自定义安装后Next
设置安装路径 不要有中文或者空格
开始安装Install
安装完成以后在屏幕右下角出现:
点击该图标
表示当前apache在运行.
开始菜单增加了apache的信息
打开浏览器输入 http://localhost 得到如下结果:
至此 apache 安装成功 ! 耶...
Ⅲ Apache Http Server 配置
找到安装目录 conf/httpd.conf 文件并打开,搜索documentRoot字段

将DocumentRoot修改如下:
|
继续往下修改,找到
|
# # This should be changed to whatever you set DocumentRoot to. # 将<Directory "D:/software/Apache2.2/htdocs">修改如下 #<Directory "D:/software/Apache2.2/htdocs"> <Directory "D:/deployment"> |
修改完毕以后测试一下修改配置文件是否正确

如果正确则命令行窗口会一闪而过。
通过以上的配置将apache的工作文件目录修改到了d:\deployment文件夹下,因此在d盘下创建对应的目录,并建立一个index.html文件。apache 默认访问文件目录下index.html文件,在httpd.conf
文件中设置 :
|
# # DirectoryIndex: sets the file that Apache will serve if a directory # is requested. # <IfModule dir_module> DirectoryIndex index.html </IfModule> |
建立目录如下:

重启apache

访问 http://localhost

Ⅳ tomcat的安装
tomcat的安装应该是每个开发人员都会的,这里使用的是解压版的tomcat7

Ⅴ 整合
准备工作都已完毕,整合开始
apache 只能解析静态的文件(例如刚访问的index.html,但是遇到index.jsp就无法解析),如果遇到动态的文件就需要交给web容器来解析(这里是tomcat)。
那么如何将动态资源的解析交给tomcat的 ???
apache有一个叫mod_jk的模块,通过配置表示式后将请求通过mod_jk 然后传递给tomcat 。
操作步骤:
1. 加入mod_jk模块
该模块名称为: mod_jk-1.2.31-httpd-2.2.3.so,将其加入到apache安装目录下modules下

2. 配置解析表达式
打开httpd.conf文件,在文件末尾追加如下内容:
|
LoadModule jk_module modules/mod_jk-1.2.31-httpd-2.2.3.so JKWorkersFile conf/workers.properties JkLogFile logs/mod_jk.log <VirtualHost *> DirectoryIndex index.html index.htm index.jsp index.action ErrorLog logs/error_log.txt CustomLog logs/access_log.txt common JkMount /*WEB-INF ajp13 JkMount /*.action ajp13 JkMount /servlet/* ajp13 JkMount /*.jsp ajp13 JkMount /*.do ajp13 JkMount /*.action ajp13 JkMount /*.json ajp13 JkMount /WebDemo/HelloWorld ajp13 </VirtualHost> |
该段配置作用如下:

在conf目录下建立worders.properties文件,其内容如下
|
workers.tomcat_home=D:/software/apache-tomcat-7.0.53-windows-x86/apache-tomcat-7.0.53 ps=/ worker.list=ajp13 worker.ajp13.port=8009 worker.ajp13.host=localhost worker.ajp13.type=ajp13 |
√ workers.tomcat_home:用来指定tomcat的位置
√ worker.list :指定工作的的web容器映射
√ worker.ajp13.host : 访问host
√ worker.ajp13.type: 访问协议
在tomcat安装目录conf/server.xml文件中指定了8009端口访问的协议

3. 在tomcat中部署应用,通过apache来访问
通过maven创建了一个web工程 打包为WebDemo,放入tomcat的webapps目录下,启动tomcat并重启apache,访问 http://localhost/WebDemo 得到

出错了! 这是正常的,此时还需要将webapps下的WebDemo文件夹复制到d:/deployment下,复制好后将其中的WEB-INF文件夹删除(这部分的内容将通过JkMount表达式来传递)
操作完成以后重新访问http://localhost/WebDemo/ 得到(该页面是直接访问d:/deployment目录下的静态文件)

点击链接得到(tomcat解析返回的) :

至此,整合完毕.
运行图如下:

注意需要网络管理员屏蔽8080端口.
下一篇将具体来描述一下创建的maven工程,对maven进行一个快速入手.
Apache和Tomcat的整合的更多相关文章
- Apache与Tomcat的整合
一 Apache与Tomcat比较联系 apache支持静态页,tomcat支持动态的,比如servlet等. 一般使用apache+tomcat的话,apache只是作为一个转发,对jsp的处理是由 ...
- Apache和Tomcat的整合过程(转载)
一 Apache与Tomcat比较联系 apache支持静态页,tomcat支持动态的,比如servlet等. 一般使用apache+tomcat的话,apache只是作为一个转发,对jsp的处理是由 ...
- Windows(Vertrigo)下Apache与Tomcat的整合
为了实现整合,上网找了很多资料!尝试了很多次,终于成功整合了!下面我就把整合过程分享给大家,希望能给以后有需要的人提供帮助. 准备工作: 1.VertrigoServ 2.23 下载地址: http ...
- [WebServer] Windows下Apache与Tomcat的整合
转自:http://bbs.blueidea.com/thread-2873268-1-1.html 准备工作:1. Apache 2.2.4下载地址:http://cztele1.skycn.com ...
- 第一篇、Apache和Tomcat的整合
1.web架构 首先上图,解释web通用架构 通常情况下分为三大块 : ★ Web server : 通常情况下由 Apache Http Server . IBM Http Server .I ...
- Apache与Tomcat整合
Apache与Tomcat整合 一 Apache与Tomcat比较联系 apache支持静态页,tomcat支持动态的,比如servlet等. 一般使用apache+tomcat的话,apache ...
- Apache与Tomcat整合(转)
一 Apache与Tomcat比较联系 apache支持静态页,tomcat支持动态的,比如servlet等. 一般使用apache+tomcat的话,apache只是作为一个转发,对jsp的处理是由 ...
- linux下apache和tomcat整合
一 Apache与Tomcat比较联系 apache支持静态页,tomcat支持动态的,比如servlet等. 一般使用apache+tomcat的话,apache只是作为一个转发,对jsp的处理是由 ...
- Apache与tomcat
联系 1)Apache和tomcat都是web网络服务器 2)Apache是普通的服务器,本身支持html即普通网页,可以通过插件支持php也可以与Tomcat连通 (Apache单向连接tomca ...
随机推荐
- 使用ganglia监控hadoop及hbase集群 分类: B3_LINUX 2015-03-06 20:53 646人阅读 评论(0) 收藏
介绍性内容来自:http://www.uml.org.cn/sjjm/201305171.asp 一.Ganglia简介 Ganglia 是 UC Berkeley 发起的一个开源监视项目,设计用于测 ...
- hadoop集群中的日志文件 分类: A1_HADOOP 2015-02-28 20:37 680人阅读 评论(0) 收藏
hadoop存在多种日志文件,其中master上的日志文件记录全面信息,包括slave上的jobtracker与datanode也会将错误信息写到master中.而slave中的日志主要记录完成的ta ...
- Codeforces 138C(区间更新+离散化)
题意:有n棵树在水平线上,给出每棵树的坐标和高度,然后向左倒的概率和向右倒的概率,和为1,然后给出了m个蘑菇的位置,每一个蘑菇都有一个魔法值,假设蘑菇被压死了,也就是在某棵树[a[i] - h[i], ...
- iOS开发Quartz2D之八:图形上下文状态栈
#import "DrawView.h" @implementation DrawView - (void)drawRect:(CGRect)rect { // Drawing c ...
- javascript中定义事件的三种方式 分类: C1_HTML/JS/JQUERY 2014-08-07 10:27 634人阅读 评论(0) 收藏
在javascript中,可以为某个元素指定事件,指定的方式有以下三种: 1.在html中,使用onclick属性 2.在javascript中,使用onclick属性 3.在javascipt中,使 ...
- ijkplayer阅读笔记02-创建音视频读取,解码,播放线程
本节主要介绍音视频读取和解码线程的创建及启动,代码流程例如以下: IjkMediaPlayer_prepareAsync{ ijkmp_prepare_async_l{ ijkmp_change_st ...
- php中如何获取数组长度
php获取数组的长度的方法 一.总结 一句话总结:count方法和sizeof方法 二.php获取数组的长度的方法 php获取数组长度的方法: 一). 获取一维数组的方法: 1.count.sizeo ...
- Android 设置alpha值来制作透明与渐变效果的实例
Android系统支持的颜色是由4个值组成的,前3个为RGB,也就是我们常说的三原色(红.绿.蓝),最后一个值是A,也就是Alpha.这4个值都在0~255之间.颜色值越小,表示该颜色越淡,颜色值越大 ...
- 如何去掉windows2003的自动锁定(每离开一会都会出现这个界面,不想让它出现)
http://zhidao.baidu.com/link?url=SOCv57C-hX_3f0Xl0J0RFIVXpowXk73zdQd2B-wMUzYOm5E_N397bw_UkX4uLPlAiWQ ...
- js如何动态创建表格(两种方法)
js如何动态创建表格(两种方法) 一.总结 一句话总结: 1.方法一:写好创建表格的html代码,将之赋值给div的innerHTML. 2.方法二.直接用创建好的table元素的方法insertRo ...