Apache简介

2017年4月11日Apache评论323539字阅读11分47秒阅读模式

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。同时Apache音译为阿帕奇,是北美印第安人的一个部落,叫阿帕奇族,在美国的西南部。也是一个基金会的名称、一种武装直升机等等。文章源自王小优-https://www.wangxiaoyou.com/4484.html

Apache HTTP服务器是一个模块化的服务器,源于NCSAhttpd服务器,经过多次修改,成为世界使用排名第一的Web服务器软件。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。文章源自王小优-https://www.wangxiaoyou.com/4484.html

本来它只用于小型或试验Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux的支持相当完美。Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。文章源自王小优-https://www.wangxiaoyou.com/4484.html

Apache简介文章源自王小优-https://www.wangxiaoyou.com/4484.html

Apache Web服务器软件拥有以下特性:

1、支持最新的HTTP/1.1通信协议。文章源自王小优-https://www.wangxiaoyou.com/4484.html

2、拥有简单而强有力的基于文件的配置过程。文章源自王小优-https://www.wangxiaoyou.com/4484.html

3、支持通用网关接口。文章源自王小优-https://www.wangxiaoyou.com/4484.html

4、支持基于IP和基于域名的虚拟主机。文章源自王小优-https://www.wangxiaoyou.com/4484.html

5、支持多种方式的HTTP认证。文章源自王小优-https://www.wangxiaoyou.com/4484.html

6、集成Perl处理模块。文章源自王小优-https://www.wangxiaoyou.com/4484.html

7、集成代理服务器模块。文章源自王小优-https://www.wangxiaoyou.com/4484.html

8、支持实时监视服务器状态和定制服务器日志。文章源自王小优-https://www.wangxiaoyou.com/4484.html

9、支持服务器端包含指令(SSL)。文章源自王小优-https://www.wangxiaoyou.com/4484.html

10、支持安全Socket层(SSL)。文章源自王小优-https://www.wangxiaoyou.com/4484.html

11、提供用户会话过程的跟踪。文章源自王小优-https://www.wangxiaoyou.com/4484.html

12、支持FastCGI。文章源自王小优-https://www.wangxiaoyou.com/4484.html

13、通过第三方模块可以支持JavaServlets。文章源自王小优-https://www.wangxiaoyou.com/4484.html

如果你准备选择Web服务器,毫无疑问Apache是你的最佳选择。文章源自王小优-https://www.wangxiaoyou.com/4484.html

相关模块

1、SSO Module - LemonLDAP文章源自王小优-https://www.wangxiaoyou.com/4484.html

LemonLdap是Apache的一个实现了Web SSO的模块,可处理超过20万的用户。文章源自王小优-https://www.wangxiaoyou.com/4484.html

2、并发限制模块 - limitipconn文章源自王小优-https://www.wangxiaoyou.com/4484.html

limitipconn是一个Apache的模块,用来限制每个IP的并发连接数。支持Apache 1.x和2.x。文章源自王小优-https://www.wangxiaoyou.com/4484.html

3、日志监控模块文章源自王小优-https://www.wangxiaoyou.com/4484.html

Apache Live Log是一个Perl编写的模块,可以在浏览器上直接实时的通过Ajax技术浏览和监控Apache的 日志文件。文章源自王小优-https://www.wangxiaoyou.com/4484.html

4、负载均衡模块文章源自王小优-https://www.wangxiaoyou.com/4484.html

mod_backhand是一个Apache的负载平衡模块 。它定义了每个请求的HTTP重定向在一个异构的Apache服务器群集。每个请求的处理,并贯穿了一套“候选人的职能” ,以确定哪些服务器是最适合的回应。请求然后代理到该服务器。设施已到位,让你写您自己的动态加载决策算法。一切有关的要求和当前可用的资源可用于决策过程。文章源自王小优-https://www.wangxiaoyou.com/4484.html

5、图像处理模块文章源自王小优-https://www.wangxiaoyou.com/4484.html

mod_gfx是一个对图像进行即时处理的Apache模块,提供很多灵活的接口。文章源自王小优-https://www.wangxiaoyou.com/4484.html

6、压缩模块文章源自王小优-https://www.wangxiaoyou.com/4484.html

mod-gzip-disk是一个使用磁盘进行存储预压缩页面的Apache模块,与mod-gzip不同的是不需要每次请求的时候重新压缩。文章源自王小优-https://www.wangxiaoyou.com/4484.html

7、音乐模块文章源自王小优-https://www.wangxiaoyou.com/4484.html

mod_musicindex是一个Apache用来处理音频文件的模块,类似Perl的Apache::MP3,支持音频格式包括:MP3、Ogg Vorbis、FLAC、MP4、AAC ,可根据不同的音频属性进行排序列表、在线播放、下载、构建播放列表和搜索等,提供RSS和Podcast输出,支持多CSS和包下载。文章源自王小优-https://www.wangxiaoyou.com/4484.html

8、LDAP认证模块文章源自王小优-https://www.wangxiaoyou.com/4484.html

LDAP是轻量级目录访问协议,基于X.500标准,但更简单,并可根据需要进行定制。mod_psldap是Apache用来执行LDAP认证和授权的模块。同时可通过Web界面进行简单的LDAP管理。文章源自王小优-https://www.wangxiaoyou.com/4484.html

9、带宽限制模块文章源自王小优-https://www.wangxiaoyou.com/4484.html

mod_cband是一个用来限制请求占用带宽的Apache模块。文章源自王小优-https://www.wangxiaoyou.com/4484.html

10、CGI V8引擎包文章源自王小优-https://www.wangxiaoyou.com/4484.html

v8cgi是一个很小的C++和JS文件集合,允许开发者在服务器端使用JS的模块,基本功能包括:IO、GD、MySQL、Sockets、templates、FastCGI、Apache module。文章源自王小优-https://www.wangxiaoyou.com/4484.html

相关替代品

Apache是目前最流行的Web应用服务器,占据了互联网应用服务器70%以上的份额。Apache能取得如此成功并不足为奇:它免费、稳定且性能卓越;但Apache能取得如此佳绩的另一个原因是,当时互联网刚刚兴起时,Apache是第一个可用的Web应用服务器,人们没有其他的选择。文章源自王小优-https://www.wangxiaoyou.com/4484.html

不可否认,Apache是一个优秀的全能Web服务器,但对于那些需要更强大的Web应用服务器(比如大小、可定制、响应速度、可扩展性等方面)的人而言,Apache明显不符合他们的要求,寻找Apache的替代者是更好的选择。文章源自王小优-https://www.wangxiaoyou.com/4484.html

下面所列出的是当前可以替代Apache的几个热门Web应用服务器,他们的特点和适用的应用场景各不相同,但都是针对Apache所不够擅长的某一方面设计的。文章源自王小优-https://www.wangxiaoyou.com/4484.html

1、Lighttpd文章源自王小优-https://www.wangxiaoyou.com/4484.html

最流行的Apache服务器替代者,Lighttpd是一个单线程的针对大量持续连接做出专门优化的Web服务器(这正是多数高流量网站和应用程序需要的)。众多的流行Web站点选择Lighttpd,包括Youtube、SourceForge和维基百科。Lighttpd支持FastCGI、HTTP服务器端压缩、mod-rewrite和其他众多有用的功能。尽管Lighttpd拥有Apache的绝大多数功能,但它仍然保持轻量级(仅1MB)并且可以与Apache使用相同的配置。文章源自王小优-https://www.wangxiaoyou.com/4484.html

2、Nginx文章源自王小优-https://www.wangxiaoyou.com/4484.html

Nginx是一个来自俄罗斯的流行的Web应用服务器,它被应用于大量的俄罗斯的高并发站点,俄罗斯的搜索引擎网站Rambler就是基于Nginx构建的。Nginx对静态页面的支持相当出色,轻量且免费。Nginx不支持CGI,但是支持更灵活的FastCGI。PHP5.2及之前的版本比较多的是使用PHP-FPM来管理PHP FastCGI进程。PHP-FPM使用给PHP源码打补丁后编译的方式让新手多少有些难上手,但从PHP 5.3.2开始内置PHP-FPM,只需编译PHP时启用PHP-FPM。文章源自王小优-https://www.wangxiaoyou.com/4484.html

3、kangle文章源自王小优-https://www.wangxiaoyou.com/4484.html

kangle web服务器(简称:kangle)是一款跨平台、功能强大、安全稳定、易操作的高性能web服务器和反向代理服务器软件。除此:kangle也是一款专为做虚拟主机研发的Web服务器。实现虚拟主机独立进程、独立身份运行。用户之间安全隔离,一个用户出问题不影响其他用户。安全支持PHP、ASP、asp.net、JAVA、Ruby等多种动态开发语言。文章源自王小优-https://www.wangxiaoyou.com/4484.html

4、Boa文章源自王小优-https://www.wangxiaoyou.com/4484.html

很多的网站管理员对在硬件配置较低的服务器上使用轻量级的Boa作为Web服务器极其信赖。Boa是一个单线程的HTTP服务器,这意味着Boa只能依次完成用户的请求而不会fork新的进程来处理并发请求。Boa的设计目的是速度和安全,对于运行于单服务器的流行Web站点而言,Boa是一个好的选择。文章源自王小优-https://www.wangxiaoyou.com/4484.html

5、Jigsaw文章源自王小优-https://www.wangxiaoyou.com/4484.html

Jigsaw是W3C(World Wide Web Consortium)推出的开源的Web服务器平台,使用Java语言编写,可以安装在有Java运行环境的系统上。做为W3C开发的服务器产品,其作用主要是对新技术的实现做一个例示,而非一个全功能的商业服务器产品。不过就Jigsaw 2.0版本而言,它的功能还是超过了Web服务器的平均水平。最重要的是,它体现了未来HTTP协议和基于对象的Web服务器技术的发展。如果你希望你的平台支持所有下一代技术,Jigsaw是一个好的选择。文章源自王小优-https://www.wangxiaoyou.com/4484.html

以上所提到的四个Apache Web服务器的替代者只是众多优秀应用服务器产品的一部分。文章源自王小优-https://www.wangxiaoyou.com/4484.html

Apache Web服务器的优点、缺点及特点

1、Apache是目前世界上使用最广泛的一种Web Server,它以跨平台,高效和稳定而闻名。文章源自王小优-https://www.wangxiaoyou.com/4484.html

2、Apache缺点是变得越来越重,被普遍认为是重量级的Web Server。Apache主要采用的是基于进程的Prefork模式,还有基于线程的Worker模式),对于每个请求会用一个进程去进行服务,进程非常占资源,当并发量大的时候,就需要等额的进程,导致的是高内存占用和CPU占用,这就是所谓的“重量级”。文章源自王小优-https://www.wangxiaoyou.com/4484.html

3、Apache是基于模块化设计的,总体上看起来代码的可读性高于PHP代码,它的核心代码并不多,大多数的功能都被分割到各种模块中,各个模块在系统启动时按需载入。文章源自王小优-https://www.wangxiaoyou.com/4484.html

4、Apache是用C语言写的。文章源自王小优-https://www.wangxiaoyou.com/4484.html

  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
王小优
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: