`

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

 

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

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

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

二 Linux下Apache与Tomcat整合的简单方法
转自:http://hi.baidu.com/%D0%A1%BA%EC%DD%AB%DC%C4/blog/item/52154ec5a5c02ca08226acf9.html

1、准备,下载需要的文件。这里假定你已经正确安装配置好了JDK。
到Apache官方网站下载所需要的文件:
httpd-2.2.0.tar.gz
apache-tomcat-5.5.12.tar.gz
jakarta-tomcat-connectors-1.2.15-src.tar.gz
其中httpd和jakarta-tomcat-connectors为源码包,apache-tomcat为二进制包。

2、安装Apache。
# tar xzvf httpd-2.2.0.tar.gz
# cd httpd-2.2.0
# ./configure --prefix=/usr/local/apache2 --enable-so
# make
# make install

3、安装Tomcat。
# cp apache-tomcat-5.5.12.tar.gz /usr/local/
# cd /usr/local
# tar xzvf apache-tomcat-5.5.12.tar.gz
# ln -s apache-tomcat-5.5.12 tomcat

4、编译生成mod_jk。
# tar xzvf jakarta-tomcat-connectors-1.2.15-src.tar.gz
# cd jakarta-tomcat-connectors-1.2.15-src/jk/native
# ./configure --with-apxs=/usr/local/apache2/bin/apxs
# make
# cp ./apache-2.0/mod_jk.so /usr/local/apache2/modules/

5、配置。
在/usr/local/apache2/conf/下面建立两个配置文件mod_jk.conf和workers.properties。

# vi mod_jk.conf
添加以下内容:
# 指出mod_jk模块工作所需要的工作文件workers.properties的位置
JkWorkersFile /usr/local/apache2/conf/workers.properties

# Where to put jk logs
JkLogFile /usr/local/apache2/logs/mod_jk.log

# Set the jk log level [debug/error/info]
JkLogLevel info

# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"

# 将所有servlet 和jsp请求通过ajp13的协议送给Tomcat,让Tomcat来处理
JkMount /servlet/* worker1
JkMount /*.jsp worker1

# vi workers.properties
添加以下内容:
# Defining a worker named worker1 and of type ajp13
worker.list=worker1

# Set properties for worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300

再配置httpd.conf,作以下修改:
将Listen 80 修改为 Listen 127.0.0.1:80
将ServerName 修改为 ServerName LocalHost:80

在DirectoryIndex中添加 index.jsp

我的网页放在/var/wwwroot下,所以要修改DocumentRoot
DocumentRoot "/var/wwwroot"
<Directory "/var/wwwroot">
    Options Includes FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow from all
    XBitHack on
</Directory>
<Directory "/var/wwwroot/WEB-INF">    
    Order deny,allow
    Deny from all
</Directory>

增加关于加载mod_jk的语句:
LoadModule jk_module modules/mod_jk.so
Include /usr/local/apache2/conf/mod_jk.conf

最后编辑Tomcat的配置文件server.xml,在HOST段中加入:
<Context path="" docBase="/var/wwwroot" debug="0" reloadable="true" crossContext="true"/>
在/var/wwwroot下建立一个index.jsp,启动Apache和Tomcat,用浏览器访问http://localhost/,应该可以看到正确的页面了。

三 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-bin/INTERS ... -windows-i586-p.exe
如果只是应用的话,也可以选择安装JRE,因为JRE比较小:)

4 JK-1.2.26-httpd-2.2.4
下载地址:http://www.apache.org/dist/tomca ... 2.26-httpd-2.2.4.so
注意JK的版本一定要与Apache版本相同。如果你的版本与我的不同,可以去官网下载,有多种版本,适用于各种操作系统,下载适用的既可,地址:http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/

开始安装:
软件的安装顺序可以适当调整,但是JDK(JRE)一定要在Tomcat之前安装:

1、安装JDK(JRE)
此处默认、自定义安装均可。安装完成以后按下面的示例设置你的系统环境变量:我的电脑 -> 属性 -> 高级 -> 环境变量 (这里要添加的是系统变量,非用户变量)
JAVA_HOME = D:\Program Files\Java\jdk1.6.0_07
CLASSPATH = .;%Java_Home%\lib\tools.jar;%Java_Home%\lib\dt.jar;
PATH = %Java_Home%\bin;%PATH%
注意JAVA_HOME的路径改为你的实际安装路径。其它两个不变。

2、安装Apache
此处注意,如果你本机已经装了IIS并且占用了80端口,你可以选择禁用IIS或者给IIS指定其它端口,或者给Apache指定其它端口,根据实际情况进行设置。在Apache的安装过程中要设置Network Domain和Server Name为Localhost,设置你的Email地址(这个一定要设置,不然Apache启动不起来)。
安装完成之后,如果apache用的是80端口,那么在浏览器中输入 http://localhost ,如果使用的是其它端口例如81,则输入 http://localhost:81 ,将会看到 Apache 的成功页面。此时Apache已经运行,在系统托盘可以看到它的图标,双击打开可以对Apache服务进行控制,我们下面还要安装Tomcat和JK,所以现在选择 Stop 停止 Apache 服务。

3、安装Tomcat
将Tomcat解压到 D:\Program Files\Tomcat 下,设置环境变量:
CATALINA_BASE = D:\Program Files\tomcat
CATALINA_HOME = D:\Program Files\tomcat
CLASSPATH = %CATALINA_HOME%\lib\servlet-api.jar
运行 D:\Program Files\Tomcat\bin\startup.bat 启动Tomcat,出现Tomcat页面则表示安装成功。

4、安装JK
把 mod_jk-1.2.26-httpd-2.2.4.so 拷贝到 D:\Program Files\Apache2.2\modules 下。

下面进行服务器的配置:
1、配置Tomcat
查找Tomcat目录下的 conf/server.xml文件,在<host></host>中间加入以下语句以修改其默认的目录:
<Context path="" docBase="E:\wwwroot" reloadable="true" crossContext="true"/>
在这里,如果 path 不为空,则设置的是虚拟目录,path 的值为虚拟目录名。

查找Tomcat目录下 conf/workers.properties文件,并对比下方文本内容,如有不同处,以下方文本为准进行修改。
workers.tomcat_home=C:\apache-tomcat-6.0.18 #让mod_jk模块知道Tomcat的位置
workers.java_home=D:\Program Files\Java\jre1.6.0_07 #让mod_jk模块知道jre的位置
ps=\
worker.list=ajp13 #模块版本
worker.ajp13.port=8009 #工作端口,若没占用则不用修改
worker.ajp13.host=localhost #本机,若上面的Apache主机不为localhost,作相应修改
worker.ajp13.type=ajp13 #类型
worker.ajp13.lbfactor=1 #代理数,不用修改

如果此文件不存在,则依以上内容创建。对Tomcat的设置进行任何修改后都要重启才可以生效。

2、配置Apache
打开D:\Program Files\Apache2.2\conf下的httpd.conf,在最后加入下面这段代码并保存。
LoadModule jk_module modules\mod_jk-1.2.26-httpd-2.2.4.so
#此处mod_jk的文件为你下载的文件
JkWorkersFile "D:\Program Files\Tomcat\conf\workers.properties"
#指定tomcat监听配置文件地址
JkLogFile "D:\Program Files\Tomcat\logs\mod_jk2.log"
#指定日志存放位置
JkLogLevel info

#设置虚拟主机
<VirtualHost localhost>
#如果非虚拟主机,将<VirtualHost localhost>和最后的</VirtualHost>注释或者删除掉即可
ServerAdmin localhost
DocumentRoot E:/wwwroot
<Directory "E:/wwwroot">
#您的站点项目所在路径,应与tomcat中的目录设置相同,据说以上两个必须同时设置才可以生效,没有试过不同的时候会有什么情况
ServerName localhost
DirectoryIndex index.html index.htm index.jsp
ErrorLog logs/shsc-error_log.txt
CustomLog logs/shsc-access_log.txt common
JkMount /servlet/* ajp13
#让Apache支持对servlet传送,用以Tomcat解析
JkMount /*.jsp ajp13
#让Apache支持对jsp传送,用以Tomcat解析
JkMount /*.do ajp13
#让Apache支持对.do传送,用以Tomcat解析
</VirtualHost>

#开头的行为注释,可以删除。此处的配置我是以设置虚拟目录,重新指定了serverName,DocumentRoot路径的方式配置站点,实际上,Apache的配置可以非常灵活,你也可以不采用虚拟目录的方式,而直接去修改站点的默认配置,使用任意文本编辑工具,搜索如 ServerName,DocumentRoot,ServerAdmin等相关项,然后将该项的配置根据你的实际情况进行修改即可。我建议大家可以多多尝试不同的配置,这是一种很有乐趣的体验。
所有的修改完成以后,双击系统托盘中的Apache图标,然后点击Start启动Apache服务。
在地址栏中分别输入http://localhost/,与http://localhost:8080/若结果相同,Apache与Tomcat整合成功

安装常见问题:
1.一启动Apache出现“windows不能在本地计算机启动Apache2”错误
多数情况是端口的问题,可能有其他软件占用了80端口,最好把Apache的端口改成81端口就可以了

2.windows下查看80端口占用情况,适用于查看任何端口
开始–运行–cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选”查看”-”选择列”,经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法,希望对大家有用。

我们需要确定谁占用了我们的80端口
在windows命令行窗口下执行:C:\>netstat -aon|findstr “80″
看到了吗,端口被进程号为2044的进程占用,继续执行下面命令:
C:\>tasklist|findstr “2044″
avp.exe                     2044 Console                 0     37,680 K
很清楚吧,avp 卡巴监听80端口,调整卡巴网络监听设置。
当然,如果你的80端口被其他程序占用,kill掉或者调整端口。
四 完!

分享到:
评论

相关推荐

    开发工具 apache-tomcat-8.0.41-windows-x86

    开发工具 apache-tomcat-8.0.41-windows-x86开发工具 apache-tomcat-8.0.41-windows-x86开发工具 apache-tomcat-8.0.41-windows-x86开发工具 apache-tomcat-8.0.41-windows-x86开发工具 apache-tomcat-8.0.41-...

    apache-tomcat-9.0.27.tar (1)

    apache-tomcat-9.0.27.tar (1)apache-tomcat-9.0.27.tar (1)apache-tomcat-9.0.27.tar (1)apache-tomcat-9.0.27.tar (1)apache-tomcat-9.0.27.tar (1)apache-tomcat-9.0.27.tar (1)apache-tomcat-9.0.27.tar (1)...

    apache-tomcat-10.0.8.zip

    Apache Tomcat 软件是Jakarta Servlet、 Jakarta Server Pages、 Jakarta Expression Language、 Jakarta WebSocket、 Jakarta Annotations和 Jakarta Authentication 规范的开源实现 。 压缩包内容: apache-...

    apache-tomcat-9.0.45-windows-x64

    apache-tomcat-9.0.45-windows-x64apache-tomcat-9.0.45-windows-x64apache-tomcat-9.0.45-windows-x64apache-tomcat-9.0.45-windows-x64apache-tomcat-9.0.45-windows-x64apache-tomcat-9.0.45-windows-x64apache-...

    apache-tomcat-8.5.78-windows-x64安装包-kaic.rar

    apache-tomcat-8.5.78-windows-x64安装包 apache-tomcat-8.5.78-windows-x64安装包 apache-tomcat-8.5.78-windows-x64安装包 apache-tomcat-8.5.78-windows-x64安装包 apache-tomcat-8.5.78-windows-x64安装包 ...

    apache-tomcat-6.0.10.tar.gz_apache_apache安装包_tomcat6 un_unix tom

    Apache Tomcat是一款开源的Java Servlet容器,主要用于部署和运行Java Web应用程序,包括JSP和Servlet。这个"apache-tomcat-6.0.10.tar.gz"是Apache Tomcat的6.0.10版本,适用于Unix类操作系统,如Linux或macOS。此...

    apache-tomcat-9.0.27-apache-tomcat-10.0.27.zip

    Apache Tomcat是一款开源的Java Servlet容器,主要用于运行Java Web应用程序,包括JSP和Servlet。它由Apache软件基金会维护,是实现Java EE(现在称为Jakarta EE)Web Profile规范的重要组成部分。这个压缩包...

    apache-tomcat的安装与配置傻瓜式教程

    Apache Tomcat 的安装与配置傻瓜式教程 在本篇文章中,我们将详细介绍如何安装和配置 Apache Tomcat,以便轻松地搭建开发环境。整个过程可以分为四步,非常简单易懂。 第一步:下载并解压缩 Apache Tomcat 首先,...

    apache-tomcat-7.0.75.zip

    不过可以通过插件支持php,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源。反之不然)。Apache只支持静态网页,但像asp,php,cgi,jsp等动态网页就需要Tomcat来处理。 Tomcat是由Apache...

    apache-tomcat-9.0.7全系列(32bit,64bit,安装版,解压版,文档)

    2018-04-18 01:19 5,623,087 apache-tomcat-9.0.7-fulldocs.tar.gz 2018-04-18 01:19 11,168,080 apache-tomcat-9.0.7-windows-x64.zip 2018-04-18 01:19 10,830,323 apache-tomcat-9.0.7-windows-x86.zip 2018-04-...

    ubuntu linux下apache与tomcat的整合.txt

    ### Ubuntu Linux 下 Apache 与 Tomcat 的整合 在 Ubuntu Linux 环境中,Apache 和 Tomcat 的整合是一项常见的任务,旨在实现静态内容通过 Apache 服务器进行高效分发,而动态内容(如 Java 应用)则通过 Tomcat ...

    apache-tomcat-7.0.70.tar.gz

    尽管Tomcat不是完整的Java EE应用服务器,但它与Java EE的其他组件(如EJB)可以通过与其他服务器(如JBoss或Glassfish)集成来支持。 **Linux系统**: Linux是一种自由和开放源代码的操作系统,广泛应用于服务器...

    apache-tomcat-6.0.18

    在实际应用中,Tomcat常与其他软件集成,如Apache HTTP Server(通常称为Apache,非此处的标签“阿帕奇”)进行负载均衡和反向代理,提供更高的性能和安全性。Apache HTTP Server是一个流行的HTTP服务器,负责处理...

    apache-tomcat-9.0.6.zip

    apache-tomcat-9.0.6 apache-tomcat-9.0.6 apache-tomcat-9.0.6 apache-tomcat-9.0.6 apache-tomcat-9.0.6 apache-tomcat-9.0.6 apache-tomcat-9.0.6 apache-tomcat-9.0.6 apache-tomcat-9.0.6 apache-...

    Tomcat7下载(apache-tomcat-7.0.85)

    Tomcat7下载(apache-tomcat-7.0.85)Tomcat7下载(apache-tomcat-7.0.85)Tomcat7下载(apache-tomcat-7.0.85)Tomcat7下载(apache-tomcat-7.0.85)

    apache-tomcat-9.0.41.zip

    Apache是web服务器,Tomcat是应用服务器,apache tomcat只是一个servlet容器,是Apache的扩展;Apache和Tomcat都可以做为独立的web服务器来运行,但是Apache不能解释java程序。我后面Javaweb程序设计文章里面在...

    apache-tomcat-7.0.79.zip

    3. **安装与配置**:解压"apache-tomcat-7.0.79.zip"后,用户需要根据自己的操作系统进行相应的配置,包括设置环境变量、修改server.xml配置文件以设置端口号、路径等,以及启动和停止Tomcat服务的方法。 4. **部署...

    apache-tomcat-8.5.27.tar.gz

    1. **下载与解压**:首先从Apache官方网站下载"apache-tomcat-8.5.27.tar.gz",然后使用`tar -zxvf apache-tomcat-8.5.27.tar.gz`命令进行解压。 2. **配置环境变量**:将Tomcat的bin目录添加到系统的PATH环境变量...

    apache-tomcat-6.0.29

    apache是普通服务器 本身只支持html即普通网页 不过可以通过插件支持php 还可以与Tomcat连通 单向Apache连接Tomcat 就是说通过Apache可以访问Tomcat资源 反之不然 Apache只支持静态网页 但像asp php cgi jsp等动态...

Global site tag (gtag.js) - Google Analytics