# Nginx概述

Nginx是俄罗斯人Igor Sysoev在为Rambler Media工作期间,使用C语言开发的一款跨平台的Web服务器,可以运行在Linux、FreeBSD、Solaris、AIX、Mac OS、Windows等操作系统上,并且可以使用当前操作系统特有的一些高效API来提高自己的性能。

# Nginx的竞争对手

在当今互联网行业,Nginx已经成为高性能Web服务器的代名词。当然,在Web服务器领域,Nginx并不是没有竞争对手,人们也使用Apache、Lighttpd、Tomcat、Jetty、IIS等Web服务器。

由于初始设计以及自身定位于发展方向的差异,使得每一款Web服务器的特点与应用场景都不尽相同。

Tomcat和Jetty面向Java语言,先天就是重量级的Web服务器,它们的性能和Nginx没有可比性。

IIS只能在Windows操作系统上运行,Windows作为服务器在稳定性与其它一些性能上都不如类UNIX操作系统,因此,在需要高性能Web服务器的场合下,IIS可能会被“冷落“。

Apache的发展时间很长,而且是目前毫无争议的世界第一大Web服务器,Apache有许多优点,如稳定、开源、跨平台等,由于其兴起的时代,互联网的产业规模远远比不上今天,所以其被设计成一个重量级的、不支持高并发的Web服务器。这也导致了Lighttpd和Nginx的出现。

Lighttpd和Nginx一样,都是轻量级、高性能的Web服务器,欧美的业界开发者比较钟爱Lighttpd,而国内的公司则更青睐Nginx,Lighttpd使用得比较少。

# 选择Nginx的原因

为什么选择Nginx?因为它具有以下特点:

  • 更快:这主要体现在两个方面:一方面,在正常情况下,单次请求会得到更快的响应,另一方面,在高峰期,Nginx可以比其它Web服务器更快地相应请求。
  • 高扩展性:Nginx完全由多个不同功能、不同层次、不同类型且耦合度低的模块组成。因此,当对某一模块修复Bug或进行升级时,可以专注于模块自身,无需注意其它。
  • 高可靠性:高可靠性来自于其核心框架代码的优秀设计、模块设计的简单性。另外,官方提供的常用模块都非常稳定。
  • 低内存消耗:一般情况下,10000个非活跃的HTTP Keep-Alive连接在Nginx中仅消耗2.5MB的内存,这是Nginx支持高并发连接的基础。
  • 单机支持10万以上的并发连接
  • 热部署:支持在7X24小时不间断服务的前提下,升级Nginx的可执行文件,同时支持不停止服务就更新配置项、更换日志文件等功能
  • 自由的BSD许可协议:BSD许可协议不只是允许用户免费使用Nginx,它还允许用户在自己的项目中直接使用或修改Nginx源码,然后发布。
LastUpdated: 7/9/2020, 9:08:09 AM