• 1.摘要
  • 2.基本信息
  • 3.优点分析
  • 3.1.服务器
  • 3.2.代码
  • 3.3.代理服务器
  • 4.功能介绍
  • 5.安装方式
  • 5.1.模块依赖性
  • 5.2.编译安装包
  • 5.3.源代码下载
  • 6.使用技巧
  • 7.反向代理
  • 8.使用方法
  • 9.配置方法
  • 10.版本发布
  • 11.参考资料

Nginx

HTTP和反向代理服务器

Nginx(engine x)是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点开发的,公开版本1.19.6发布于2020年12月15日1

Nginx的进程模型采用了Master/Workers进程池的机制,即通常情况下,Nginx会启动一个Master进程和多个Worker进程对外提供服务。Master进程是监控进程,本身并不处理具体的TCP和HTTP请求,只负责接受UNIX信号,管理Worker进程,类似于管理者。其特点是占有内存少,并发能力强,在同类型的网页服务器中表现较好1

基本信息

  • 外文名

    Nginx

  • 软件别名

    engine x

  • 软件类型

    开源软件,网页服务器软件

  • 软件许可

    BSD许可

  • 兼容性

    Linux系统Windows NT系统

  • 开发者

    伊戈尔·赛索耶夫

  • 特点

    稳定可靠、功能丰富、安装配置简单等2

  • 性质

    高性能的HTTP和反向代理服务器2

优点分析

Nginx 可以在大多数UnixLinux OS 上编译运行,并有Windows移植版。 Nginx 的1.4.0稳定版已经于2013年4月24日发布,一般情况下,对于新建站点,建议使用最新稳定版作为生产版本,已有站点的升级急迫性不高。Nginx 的源代码使用 2-clause BSD-like license。

创始人伊戈尔·赛索耶夫

Nginx 是一个很强大的高性能Web和反向代理服务器,它具有很多非常优越的特性:

在连接高并发的情况下,Nginx是Apache服务器不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达 50,000 个并发连接数的响应,感谢Nginx为我们选择了 epoll and kqueue作为开发模型。

服务器

Nginx作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务,也可以支持作为 HTTP代理服务器对外进行服务。Nginx采用C进行编写,不论是系统资源开销还是CPU使用效率都比 Perlbal 要好很多。

处理静态文件,索引文件以及自动索引;打开文件描述符缓冲。

无缓存的反向代理加速,简单的负载均衡和容错。

FastCGI,简单的负载均衡和容错。

模块化的结构。包括 gzipping, byte ranges, chunked responses,以及 SSI-filter 等 filter。如果由 FastCG或其它代理服务器处理单页中存在的多个 SSI,则这项处理可以并行运行,而不需要相互等待。

支持 SSL 和 TLSSNI3

代码

Nginx代码完全用C语言从头写成,已经移植到许多体系结构和操作系统,包括:Linux、FreeBSD、Solaris、Mac OS X、AIX以及Microsoft Windows。Nginx有自己的函数库,并且除了zlib、PCRE和OpenSSL之外,标准模块只使用系统C库函数。而且,如果不需要或者考虑到潜在的授权冲突,可以不使用这些第三方库。

代理服务器

作为邮件代理服务器:Nginx 同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last.fm 描述了成功并且美妙的使用经验。

Nginx 是一个安装非常的简单、配置文件非常简洁(还能够支持perl语法)、Bug非常少的服务器。Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级。

功能介绍

支持操作系统