第一篇、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修改如下:


#DocumentRoot "D:/ software/Apache2.2/htdocs"

DocumentRoot "d:/deployment"

继续往下修改,找到


#
# 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进行一个快速入手.

时间: 2024-10-14 23:45:29

第一篇、Apache和Tomcat的整合的相关文章

Apache与Tomcat的整合

一 Apache与Tomcat比较联系 apache支持静态页,tomcat支持动态的,比如servlet等. 一般使用apache+tomcat的话,apache只是作为一个转发,对jsp的处理是由tomcat来处理的. apache可以支持php\cgi\perl,但是要使用java的话,你需要tomcat在apache后台支撑,将java请求由apache转发给tomcat处理. apache是web服务器,Tomcat是应用(java)服务器,它只是一个servlet(jsp也翻译成se

Apache和Tomcat的整合过程(转载)

一 Apache与Tomcat比较联系 apache支持静态页,tomcat支持动态的,比如servlet等. 一般使用apache+tomcat的话,apache只是作为一个转发,对jsp的处理是由tomcat来处理的. apache可以支持php\cgi\perl,但是要使用java的话,你需要tomcat在apache后台支撑,将java请求由apache转发给tomcat处理. apache是web服务器,Tomcat是应用(java)服务器,它只是一个servlet(jsp也翻译成se

[WebServer] Windows下Apache与Tomcat的整合

转自:http://bbs.blueidea.com/thread-2873268-1-1.html 准备工作:1. Apache 2.2.4下载地址:http://cztele1.skycn.com/down/apache_2.2.4-win32-x86-no_ssl.zip 2. Tomcat 6.0.16下载地址:http://apache.mirror.phpchina.co ... e-tomcat-6.0.16.zip 3. JDK下载地址:http://cds.sun.com/is

使用apache配置tomcat应用整合php论坛-discuz

最近搞一个web应用,主站基于tomcat的java应用,需要整合php论坛discuz tomcat应用端口是8101, apahce端口是80,网站域名是www.example.com 使用xampp服务器,直接集成apache和php安装discuz. 现在想达到使用www.example.com访问的是tomcat主站,使用www.example.com/bbs访问的是discuz论坛 由于tomcat端口是8101,不能直接通过www.example.com来访问,所以需要使用apac

Apache与Tomcat整合(转)

一 Apache与Tomcat比较联系 apache支持静态页,tomcat支持动态的,比如servlet等. 一般使用apache+tomcat的话,apache只是作为一个转发,对jsp的处理是由tomcat来处理的. apache可以支持php\cgi\perl,但是要使用java的话,你需要tomcat在apache后台支撑,将java请求由apache转发给tomcat处理. apache是web服    Options Includes FollowSymLinks    Allow

Centos Apache和tomcat集成配置,同时支持PHP和JAVA运行

最近由于项目的需要,需要再原来运行Tomcat服务器上支持PHP运行.很显然,PHP运行使用的是Apache服务器.虽然Tomcat也属于Apache,但是并没有现有的环境,需要我们自己手动配置.顺便说一下,我们使用的服务器环境是Centos6.4 . 我也是第一次搭建这个环境,没有经验,身边的同事也都没有整合过.所以最好的方法肯定是找度娘了. 但是,我发现网上的东西那叫一个又杂又乱,我保证你看了十篇文章,你也无法搭建成功.主要原因是转载的文章太多,而转载者也并非都是作者或者是专家.所以,文章要

Apache与tomcat

联系 1)Apache和tomcat都是web网络服务器 2)Apache是普通的服务器,本身支持html即普通网页,可以通过插件支持php也可以与Tomcat连通  (Apache单向连接tomcat,就是说通过Apache可以访问Tomcat资源,tomcat不能访问Apache资源) 3)Apache只支持静态网页,但是像asp,jsp,php,cgi等动态网页需要tomcat来处理 4)Apache和tomcat是相互独立的,在同一服务器上可以集成 5)Apache和tomcat可以整合

(总结)CentOS 6.x使用yum快速安装Apache+PHP+Tomcat(JSP)+MySQL

(总结)CentOS 6.x使用yum快速安装Apache+PHP+Tomcat(JSP)+MySQL PS:这个是懒人yum快速安装法,用于开发和测试环境很方便,用于没有特殊要求的生产环境也可以.特殊要求的还是自己去编译安装吧~~ 1.安装Apahce.PHP.MySQL和PHP连接MySQL数据库的包:# yum -y install httpd php mysql mysql-server php-mysql 2.安装Apache常用扩展包:# yum -y install httpd-m

Windows 下 Apache HTTP Server 安装、配置以及与 Tomcat 的整合(附图)

如果您能点开这篇文章,说明您已对熟悉Apache HTTP Server(下文用Apache简称)配置的重要性已很清楚了,本文不在赘述,直接介入正题,请往下阅读: 为便于阅读,列出文章目录: 一.Apache 的安装说明 二.Apache 的基本配置 三.Apache 整合 Tomcat 的配置 以下为正文内容: 一.Apache 的安装说明 1.首先打开Apache官网,进入Windows版本的下载地址页面:http://archive.apache.org/dist/httpd/binari