一 、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也翻译成servlet)容器,可以认为是apache的扩展,但是可以独立于apache运行。

这两个有以下几点可以比较的:
1、两者都是apache组织开发的
2、两者都有HTTP服务的功能
3、两者都是免费的

不同点:
Apache是专门用于提供HTTP服务的,以及相关配置的(例如虚拟主机、URL转发等等)
Tomcat是Apache组织在符合J2EE的JSP、Servlet标准下开发的一个JSP服务器

整合的好处是:
如果客户端请求的是静态页面,则只需要Apache服务器响应请求
如果客户端请求动态页面,则是Tomcat服务器响应请求
因为jsp是服务器端解释代码的,这样整合就可以减少Tomcat的服务开销

二、 Linux下Apache与Tomcat整合的简单方法

准备软件:

下载jdk1.7:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

下载tomcat7.0:http://tomcat.apache.org/download-70.cgi

下载httpd-2.4.16:http://httpd.apache.org/download.cgi

下载tomcat-connectors-1.2.41:http://tomcat.apache.org/download-connectors.cgi

1、JDK配置

[root@web1 ~]# cat /etc/redhat-release

CentOS release 6.6 (Final)

[root@web1 ~]# uname -a

Linux web1 2.6.32-504.el6.i686 #1 SMP Wed Oct 15 03:02:07 UTC 2014 i686 i686 i386 GNU/Linux

[root@web1 ~]# cd tools

[root@web1 tools]# tar xf jdk-1.7-linux-32bit.tar.gz -C /usr/local/

[root@web1 tools]# mv /usr/local/jdk1.7.0_67 /usr/local/jdk

[root@web1 tools]# vi /etc/profile

JAVA_HOME=/usr/local/jdk

PATH=$PATH:$JAVA_HOME/bin

CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export JAVA_HOME PATH CLASSPATH

[root@web1 tools]# source /etc/profile

[root@web1 tools]# java -version  #显示版本说明成功

java version "1.7.0_67"

Java(TM) SE Runtime Environment (build 1.7.0_67-b01)

Java HotSpot(TM) Client VM (build 24.65-b04, mixed mode)

2、Tomcat配置

[root@web1 tools]# tar xf apache-tomcat-7.0.64.tar.gz -C /usr/local/

[root@web1 tools]# mv /usr/local/apache-tomcat-7.0.64 /usr/local/tomcat

#默认tomcat是root身份运行的,这样不安全,我们设置来用普通用户

[root@web1 tools]# groupadd tomcat

[root@web1 tools]# useradd -g tomcat tomcat

[root@web1 tools]# passwd tomcat

[root@web1 tools]# chown tomcat.tomcat -R /usr/local/tomcat

[root@web1 tools]# su - tomcat /usr/local/tomcat/bin/startup.sh

[root@web1 tools]# echo "su - tomcat /usr/local/tomcat/bin/startup.sh" >> /etc/rc.local  #开机启动

[root@web1 tools]# netstat -tunlp|grep java

tcp        0      0 ::ffff:127.0.0.1:8005       :::*                        LISTEN      14940/java

tcp        0      0 :::8009                :::*                        LISTEN      14940/java

tcp        0      0 :::8080                :::*                        LISTEN      14940/java

3、apache配置

[root@web1 tools]# yum -y install zlib zlib-devel

[root@web1 tools]# tar zxvf apr-1.5.1.tar.gz

[root@web1 tools]# cd apr-1.5.1

[root@web1 apr-1.5.1]# ./configure --prefix=/usr/local/apr

[root@web1 apr-1.5.1]# make && make install && cd -

[root@web1 tools]# tar zxvf apr-util-1.5.4.tar.gz

[root@web1 apr-util-1.5.4]# cd apr-util-1.5.4

[root@web1 apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

[root@web1 apr-util-1.5.4]# make && make install && cd -

[root@web1 tools]# tar xf httpd-2.4.16.tar.gz

[root@web1 tools]# cd httpd-2.4.16

[root@web1
httpd-2.4.16]# ./configure --prefix=/application/apache2.4.16
--enable-deflate --enable-expires --enable-headers --enable-modules=most
--enable-so --with-mpm=event --enable-rewrite --with-apr=/usr/local/apr
--with-apr-util=/usr/local/apr-util

[root@web1 httpd-2.4.16]# make && make install && cd -

[root@web1 tools]# ln -s /application/apache2.4.16/ /application/apache

[root@web1 tools]# /application/apache/bin/apachectl -t

[root@web1 tools]# /application/apache/bin/apachectl start

[root@web1 tools]# echo "/application/apache/bin/apachectl start" >>/etc/rc.local

4、安装mod_jk

[root@web1 tools]# tar xf tomcat-connectors-1.2.41-src.tar.gz

[root@web1 tools]# cd tomcat-connectors-1.2.41-src/native

[root@web1 native]# ./configure --with-apxs=/application/apache2.4.16/bin/apxs && make && make install

到apache的modules下面看看有没有mod_jk.so模块,就到apache-2.0目录下cp一个

5、配置apache支持jk模块

[root@web1 ~]# vi /application/apache/conf/httpd.conf

LoadModule     jk_module    modules/mod_jk.so

……

Include conf/extra/mod_jk.conf

[root@web1 ~]# vi /application/apache/conf/extra/mod_jk.conf

JkWorkersFile    /application/apache2.4.16/conf/extra/workers.properties

JkLogFile        /application/apache2.4.16/logs/mod_jk.log

JkShmFile        logs/jk-runtime-status

JkLogLevel info

JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

JkRequestLogFormat "%w %V %T"

#Sample JkMounts.   Replace these with the paths you would

#like to mount from your JSP server.

#syntax: JkMount ${URL_DIR}/*.jsp worker_name

JkMount                /*.jsp                worker1 #判断url中包含.jsp后缀的文件时,就交由tomcat来解析,原理类似nginx里面的location

JkMount                /*.png                worker1

JkMount                /*.css                worker1

JkMount                /*.page                worker1

JkMount                /*.cic                worker1

JkMount                /*.do                 worker1

JkMount                /*.action              worker1

[root@web1 ~]# vi /application/apache/conf/extra/workers.properties

worker.list=worker1

worker.worker1.type=ajp13

worker.worker1.host=127.0.0.1

worker.worker1.port=8009

worker.worker1.cachesize=10

worker.worker1.cache_timeout=600

worker.worker1.socket_keepalive=1

worker.worker1.socket_timeout=300

一般apache的网站根目录和tomcat的网站根目录在同一目录下,此处为了达到明显测试结果,按默认来设置了,保存退出,重启服务,测试如下:

apache+tomcat整合的更多相关文章

  1. apache+tomcat整合后的编码问题

    apache+tomcat整合提供webserver服务的方式是为了实现两个目的:一是方便利用apache http server将客户请求均衡的分给tomcat1,tomcat2....去处理,即负 ...

  2. Apache Tomcat 整合

    Infi-chu: http://www.cnblogs.com/Infi-chu/ 一.Apache+Tomcat整合是什么: 1.Apache默认访问端口是80,Tomcat默认访问端口是8080 ...

  3. ubuntu 下 apache+tomcat整合_(mod-jk方法)[转]

    整合的平台是Centos5环境如下: apache源代码包: httpd-2.2.11.tar.gz  下载地址http://labs.xiaonei.com/apache-mirror/httpd/ ...

  4. windows中apache+tomcat整合,使php和java项目能够独立运行

    一.下载和安装 1.安装php  网上有安装教程,不再赘述 2.安装apache 比如安装目录为e:\apache;  项目根目录为e:\www;   网上有安装教程,不再赘述 3.安装jdk  不再 ...

  5. centos7下apache+tomcat整合

    前提 在系统中已经安装好了jdk.tomcat.apache #本人博客中jdk安装连接 http://www.cnblogs.com/xhkj/p/6545111.html #本人博客中tomcat ...

  6. Apache+tomcat的整合

    http://blog.csdn.net/stefyue/article/details/6918542 为什么要做这个整合呢?当然,首先想到是就是Apache和Tomcat的区别.正因为有区别,有各 ...

  7. Apache+tomcat的整合 分类: C_OHTERS 2014-05-07 15:08 293人阅读 评论(0) 收藏

    http://blog.csdn.net/stefyue/article/details/6918542 为什么要做这个整合呢?当然,首先想到是就是Apache和Tomcat的区别.正因为有区别,有各 ...

  8. Apache与Tomcat整合

    Apache与Tomcat整合   一 Apache与Tomcat比较联系 apache支持静态页,tomcat支持动态的,比如servlet等. 一般使用apache+tomcat的话,apache ...

  9. Windows下Apache+Tomcat+jsp+php的服务器整合配置经验总结

    对于Apache+Tomcat+jsp+php的整合,针对不同的Tomcat和apache的版本,稍微有些区别. 一.所需软件 (1)JDK: jdk-7u15-windows-x64.exejdk的 ...

随机推荐

  1. Excel两行交换及两列交换,快速互换相邻表格数据的方法

    经常使用办公软件的人可能有遇到过需要将Excel相邻两行数据相互交换的情况,需要怎么弄才最方便呢?您还是像大家通常所做的那样先在Excel文件相应位置插入一个新的空白行然后在复制粘贴数据然后删除原来那 ...

  2. 【Android 界面效果18】Android软件开发之常用系统控件界面整理

    [java] view plaincopyprint?   <span style="font-size:18px">1.文本框TextView TextView的作用 ...

  3. 《UNIX环境高级编程》学习心得 四 文件I/O(一)

    这里说的文件I/O是相对标准I/O来说的.主要介绍在UNIX系统中常用的五个文件I/O函数:open.read.write.lseek.以及close. 一.open和opennat #include ...

  4. hdu-5694 BD String(分治)

    题目链接: BD String Time Limit: 2000/1000 MS (Java/Others)     Memory Limit: 65536/65536 K (Java/Others) ...

  5. 多线程的练习----妖,等待唤醒,代码重构,lock到condition

    × 目录 [1]需求 [2]妖的出现和解决 [3]等待唤醒 [4]代码重构 [5]改成Lock Condition ------------------------------------- 1,需求 ...

  6. jQuery无缝循环开源多元素动画轮播jquery.slides插件

    详细内容请点击 初始化插件: 一款基于jQuery无缝轮播图插件,支持图内元素动画,可以自定义动画类型$(".slideInner").slide({slideContainer: ...

  7. 将java项目打包成jar文件并在cmd运行

    保证java项目不报错能够通过运行 选择export 选择一个你要运行的程序入口Main方法 打开cmd,前提是你的javajdk及环境变量配置完成

  8. hive sql 语法详解

    Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构 化的数据文件映射为一张数据库表,并提供完整的SQL查 ...

  9. Java之ConnectionPool连接池

    1.初始化(根据配置信息进行初始化)2.产生一个新的数据库连接3.有存储已经使用的连接集合,空闲连接集合4.提供给外部调用获取连接的方法5.提供给外部释放连接(不是关闭连接,而是将连接闲置)6.销毁连 ...

  10. 延迟加载(Lazy Load)

    一个对象,它虽然不包含所需要的所有数据,但是它知道怎么获取这些数据 设计专门的对象来把数据从DB中加载到内存中. 该对象可以完成在加载所需对象的同时,把与之相关的对象也一并加载了. 否则,必须显示加载 ...