Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。同时Apache音译为阿帕奇,是北美印第安人的一个部落,叫阿帕奇族,在美国的西南部。也是一个基金会的名称、一种武装直升机等等。
Apache HTTP服务器是一个模块化的服务器,源于NCSAhttpd服务器,经过多次修改,成为世界使用排名第一的Web服务器软件。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。
本来它只用于小型或试验Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux的支持相当完美。Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。
Apacheweb服务器软件拥有以下特性:
1.支持最新的HTTP/1.1通信协议
2.拥有简单而强有力的基于文件的配置过程
3.支持通用网关接口
4.支持基于IP和基于域名的虚拟主机
5.支持多种方式的HTTP认证
6.集成Perl处理模块
7.集成代理服务器模块
8.支持实时监视服务器状态和定制服务器日志
9.支持服务器端包含指令(SSI)
10.支持安全Socket层(SSL)
11.提供用户会话过程的跟踪
12.支持FastCGI
13.通过第三方模块可以支持JavaServlets
如果你准备选择Web服务器,毫无疑问Apache是你的最佳选择。
相关模块
1.SSO Module - LemonLDAP[1]
LemonLdap 是 Apache 的一个实现了 Web SSO 的模块,可处理超过 20 万的用户。
2.并发限制模块 - limitipconn
limitipconn 是一个 Apache 的模块,用来限制每个 IP 的并发连接数。支持 Apache 1.x 和 2.x。
3.日志监控模块
Apache Live Log 是一个 Perl 编写的模块,可以在浏览器上直接实时的通过 Ajax 技术浏览和监控 Apache 的 日志文件。
4.负载均衡模块
mod_backhand 是一个Apache 的负载平衡模块 。它定义了每个请求的HTTP重定向在一个异构的Apache服务器群集。每个请求的处理,并贯穿了一套“候选人的职能” ,以确定哪些服务器是最适合的回应。请求然后代理到该服务器。设施已到位,让你写您自己的动态加载决策算法。一切有关的要求和当前可用的资源可用于决策过 程。
5.图像处理模块
mod_gfx 是一个对图像进行即时处理的 Apache 模块,提供很多灵活的接口。
6. 压缩模块
mod-gzip-disk 是一个使用磁盘进行存储预压缩页面的 Apache 模块,与 mod-gzip 不同的是不需要每次请求的时候重新压缩。
7. 音乐模块
mod_musicindex 是一个 Apache 用来处理音频文件的模块,类似 Perl 的 Apache::MP3,支持音频格式包括:MP3, Ogg Vorbis, FLAC, or MP4 / AAC ,可根据不同的音频属性进行排序列表、在线播放、下载、构建播放列表和搜索等,提供 RSS 和 Podcast 输出,支持多 CSS 和包下载。
8.LDAP 认证模块
LDAP 是轻量级目录访问协议,基于 X.500 标准,但更简单,并可根据需要进行定制。mod_psldap 是 Apache 用来执行 LDAP 认证和授权的模块。同时可通过 Web 界面进行简单的 LDAP 管理
9.带宽限制模块
mod_cband 是一个用来限制请求占用带宽的 Apache 模块。
10.CGI V8 引擎包
v8cgi 是一个很小的 C ++ 和 JS 文件集合,允许开发者在服务器端使用 JS 的模块,基本功能包括:IO, GD, MySQL, Sockets, templates, FastCGI and Apache module.
相关替代品
Apache是目前最流行的Web应用服务器,占据了互联网应用服务器70%以上的份额。Apache能取得如此成功并不足为奇:它免费、稳定且性能卓越;但Apache能取得如此佳绩的另一个原因是,当时互联网刚刚兴起时,Apache是第一个可用的Web应用服务器,人们没有其他的选择。
不可否认,Apache是一个优秀的全能Web服务器,但对于那些需要更强大的Web应用服务器(比如大小、可定制、响应速度、可扩展性等方面)的人而言,Apache明显不符合他们的要求,寻找Apache的替代者是更好的选择。
下面所列出的是当前可以替代Apache的几个热门Web应用服务器,他们的特点和适用的应用场景各不相同,但都是针对Apache所不够擅长的某一方面设计的。
1、Lighttpd
最流行的Apache服务器替代者,Lighttpd是一个单线程的针对大量持续连接做出专门优化的Web服务器(这正是多数高流量网站和应用程序需要的)。众多的流行Web站点选择Lighttpd, 包括Youtube、SourceForge和维基百科。Lighttpd支持FastCGI、HTTP服务器端压缩、mod-rewrite和其他众多 有用的功能。尽管Lighttpd拥有Apache的绝大多数功能,但它仍然保持轻量级(仅1MB)并且可以与Apache使用相同的配置。
2、Nginx
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。
3、kangle
kangle web服务器(简称:kangle)是一款跨平台、功能强大、安全稳定、易操作的高性能web服务器和反向代理服务器软件。除此:kangle也是一款专为做虚拟主机研发的web服务器。实现虚拟主机独立进程、独立身份运行。用户之间安全隔离,一个用户出问题不影响其他用户。安全支持php、asp、asp·net、java、ruby等多种动态开发语言。
4、Boa
很多的网站管理员对在硬件配置较低的服务器上使用轻量级的Boa作为Web服务器极其信赖。Boa是一个单线程的HTTP服务器,这意味着Boa只能依次完成用户的请求而不会fork新的进程来处理并发请求。Boa的设计目的是速度和安全,对于运行于单服务器的流行Web站点而言,Boa是一个好的选择。
5、Jigsaw
Jigsaw是W3C推出的开源的Web服务器平台,使用Java语言编写,可以安装在有Java运行环境的系统上。做为W3C(World Wide Web Consortium)开发的服务器产品,其作用主要是对新技术的实现做一个例示,而非一个全功能的商业服务器产品。不过就Jigsaw 2.0版本而言,它的功能还是超过了Web服务器的平均水平。最重要的是,它体现了未来HTTP协议和基于对象的Web服务器技术的发展。如果你希望你的平台支持所有下一代技术,Jigsaw是一个好的选择。
以上所提到的四个Apache Web服务器的替代者只是众多优秀应用服务器产品的一部分。