热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Apache+iis+tomcat对比与配置方法

一、Apache、IIS、Tomcat的区别与联系1IIS是应用服务器,解析asp,也能处理html;Apache是web服务器,只负责处理html,Apache通过添加模块可以支持asp,jsp,php;Tomcat是应用服务器,可以解析servlet。Apache的许多外挂功能是通过模块实现的,比如php

一、 Apache、IIS、 Tomcat的区别与联系

  1  IIS是应用服务器,解析asp,也能处理html;Apache是web服务器,只负责处理html ,

Apache通过添加模块可以支持asp,jsp,php; Tomcat是应用服务器,可以解析servlet。

  Apache的许多外挂功能是通过模块实现的,比如php、subversion等,安装这些功能时就需要向Apache中添加模块。看似很简单,向 httpd.conf 中添加下面这一行(以php为例):

LoadModule php5_module "php-5.1.2/php5apache2.dll"

LoadModule jk_module modules/mod_jk.dll      添加jsp模块

2. 可以将几个都集成在一起,如IIS + Apache+ Tomcat集成共用一个端口号

3 运行环境:

IIs 需要windows的环境;Apache可以在linux上应用;Tomcat 可以在linux环境上应用。

二 、IIS与Apache的优劣

1 费用:IIS是收费的,只能用在WINDOWS上;Apache是免费的,可以跨平台使用。

2 安装:IIS相对来讲安装比较容易。Apache就比较麻烦。

3 速度:一般Apache速度会比较快,适合使用PHP程序的用户,如果是ASP程序,用IIS就已经足够了,而且管理方便。容易安装。

4 稳定性:Apache稳定,IIS有时假死

IIS在实际使用中经常出现500错误,而且有的时候还会出现莫名其妙的假死现象。用户需要不定期的重新启动IIS服务才能保证网站的正常。

Apache在配置上比IIS要复杂,不过一经设置完毕就可以长期的工作。大型网站都使用Apache作为自己的WWW服务提供工具。Apache的所有配置都保存在配置文件中,使用时完全按照配置文件中记录的信息执行,一般不会发生莫名其妙的假死情况。

三、集成Tomcat和Apache,安装Apache的好处

Apache处理静态网页(html文件或者htm文件)比Tomcat来得快和稳定, Tomcat毕竟是servlet服务器,它处理静态的网页也和处理jsp等动态网页一样采用同样的技术,都有一个translate过程(这在tomcat的work中会留下痕迹),这加重了服务器的负担,是不必要的,如果建的是一个访问量有限的网站,只安装Tomcat就可以。

Apache很稳定,不少大型网站都用它,Tomcat出问题的几率大一些。

可以通过Apache把负载分担到多个Tomcat上,实现负载均衡 。

四、集成tomcat和apache

1 安装apache服务:将apache安装在此c盘下

 注意:在安装前查看本机是否安装IIS,由于Apache和IIS默认的端口都是80。

Apache若以默认端口号安装,则需要把IIS的端口号修改为其它不常用的号码(如:82)。

2 配置

 (1)在$apache_home/ conf目录下找到httpd.conf文件,将DocumentRoot和修改为:

DocumentRoot "C:/Tomcat5.5/webapps/ROOT"

以上配置是与tomcat指向同一目录。

(2)http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.26/mod_jk-1.2.27-httpd-2.0.63.so,将下载下来的文件mod_jk-1.2.27-httpd-2.0.63.so放到C:\Apache Group\Apache2\modules下。

在$apache_home/ conf目录下找到httpd.conf文件,在此文件的末尾加上以下语句:

# 装载mod_jk模块,用于处理Apache和Tomcat的连接

LoadModule jk_module modules/mod_jk-1.2.27-httpd-2.0.63.so

# 指出mod_jk模块工作所需要的工作文件workers.properties的位置

JkWorkersFile "C:/Tomcat5.5/conf/workers.properties"

# 模块工作日志的目录

JkLogFile "C:/Tomcat5.5/logs/mod_jk2.log"

# 记录日志的工作级别

JkLogLevel info

# 将所有servlet 和jsp请求通过Ajp13的协议送给Tomcat,让Tomcat来处理

JkMount /servlet/* ajp13

JkMount /*.jsp ajp13

配置完成后需重启apache。

(3) 在C:/Tomcat5.5/conf/下编辑文件workers.properties,

# 让mod_jk模块知道Tomcat在何处

workers.tomcat_home=C:/Tomcat5.5

# 让mod_jk模块知道JDK在何处

workers.java_home=C:/jdk1.5.0_11

ps=\

# mod_jk的模块版本

worker.list=ajp13

# mod_jk的工作端口

worker.ajp13.port=8009

# 工作的主机,可以更改

worker.ajp13.host=localhost

worker.ajp13.type=ajp13

worker.ajp13.lbfactor=1

以上配置完成后重启服务,分别运行http://localhost:8080/index.jsp和http://localhost/index.jsp

查看配置是否成功。

五、在Windows Server下集成Apache、Tomcat和IIS

通过集成Apache、Tomcat和IIS使其共用都可共享80端口,一个端口同时支持Perl、PHP、ASP、JSP四种语言,集成后兼容性很好,性能也不错。

集成策略是:安装三个Web服务器,Apache负责支持perl和php,IIS负责支持asp,Tomcat负责支持jsp,通过Apache的proxy_module将三个服务器集成到一个80端口。

安装的方法是,先安装IIS、Apache和Tomcat,配置Apache使用80端口,Tomcat使用8080端口,IIS使用8081端口。

接着在Apache中修改httpd.conf文件,启用proxy_module和proxy_http_module,修改的内容是:

LoadModule proxy_module modules/mod_proxy.so
  LoadModule proxy_http_module modules/mod_proxy_http.so

然后在Apache的httpd.conf文件中增加如下几行:

ProxyPass /php !
  ProxyPass /asp/ http://localhost:8081/
  ProxyPassReverse /asp/ http://localhost:8081/
  ProxyPass /jsp/ http://localhost:8080/
  ProxyPassReverse /jsp/ http://localhost:8080/

将上述命令放在中,可以实现不同的虚拟主机使用不同的Web服务器,同一个端口同样可以跑多个Web Server。


推荐阅读
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 从CodeIgniter中提取图像处理组件
    本指南旨在帮助开发者在未使用CodeIgniter框架的情况下,如何独立使用其强大的图像处理功能,包括图像尺寸调整、创建缩略图、裁剪、旋转及添加水印等。 ... [详细]
  • 本文详细介绍如何安装和配置DedeCMS的移动端站点,包括新版本安装、老版本升级、模板适配以及必要的代码修改,以确保移动站点的正常运行。 ... [详细]
  • JavaScript 跨域解决方案详解
    本文详细介绍了JavaScript在不同域之间进行数据传输或通信的技术,包括使用JSONP、修改document.domain、利用window.name以及HTML5的postMessage方法等跨域解决方案。 ... [详细]
  • 在项目冲刺的最后一天,团队专注于软件用户界面的细节优化,包括调整控件布局和字体设置,以确保界面的简洁性和用户友好性。 ... [详细]
  • 探索Java 11中的ZGC垃圾收集器
    Java 11引入了一种新的垃圾收集器——ZGC,由Oracle公司研发,旨在支持TB级别的内存容量,并保证极低的暂停时间。本文将探讨ZGC的开发背景、技术特点及其潜在的应用前景。 ... [详细]
  • 本文探讨了使用普通生成函数和指数生成函数解决组合与排列问题的方法,特别是在处理特定路径计数问题时的应用。文章通过详细分析和代码实现,展示了如何高效地计算在给定条件下不相邻相同元素的排列数量。 ... [详细]
  • 探讨如何在映射文件中处理重复的属性字段,以避免数据操作时出现错误。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
author-avatar
201153蜡笔小新
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有