工程师计划 中间件 Nginx是什么?

Nginx是什么?

Nginx(Engine x)是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器,由伊戈尔·赛索耶夫开发。

其将源代码以类BSD许可证的形式发布,并且因其稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。其特点是占有内存少,并发能力强。

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,则这项处理可以并行运行,而不需要相互等待。

代码

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不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级。

支持操作系统

  • FreeBSD 3— 10 / i386; FreeBSD 5— 10 / amd64;
  • Linux 2.2— 4 / i386; Linux 2.6— 4 / amd64; Linux 3— 4 / armv6l, armv7l, aarch64;
  • Solaris 9 / i386, sun4u; Solaris 10 / i386, amd64, sun4v;
  • AIX 7.1 / powerpc;
  • HP-UX 11.31 / ia64;
  • Mac OS X / ppc, i386;
  • Windows XP, Windows Server 2003,Windows 10

结构与扩展

Nginx一个主进程和多个工作进程。工作进程是单线程的,且不需要特殊授权即可运行;

kqueue (FreeBSD 4.1+),epoll (Linux 2.6+),rt signals (Linux 2.2.19+),/dev/poll (Solaris 7 11/99+),select,以及 poll 支持;

kqueue支持的不同功能包括 EV_CLEAR,EV_DISABLE (临时禁止事件), NOTE_LOWAT,EV_EOF,有效数据的数目,错误代码;

sendfile (FreeBSD 3.1+),sendfile (Linux 2.2+),sendfile64 (Linux 2.4.21+),和 sendfilev (Solaris 8 7/01+) 支持;

输入过滤 (FreeBSD 4.1+) 以及 TCP_DEFER_ACCEPT (Linux 2.4+) 支持;

10,000 非活动的 HTTP keep-alive 连接仅需要 2.5M内存。

最小化的数据拷贝操作;

其他HTTP功能;

基于IP 和名称的虚拟主机服务;

Memcached 的 GET 接口;

支持 keep-alive 和管道连接;

灵活简单的配置;

重新配置和在线升级而无须中断客户的工作进程;

可定制的访问日志,日志写入缓存,以及快捷的日志回卷;

4xx-5xx错误代码重定向

基于 PCRE 的 rewrite 重写模块;

基于客户端IP 地址和 HTTP 基本认证的访问控制;

PUT,DELETE,和 MKCOL 方法;

支持 FLV (Flash 视频);

带宽限制。

实验特性

内嵌的perl;

通过 aio_read()/aio_write() 的套接字工作的实验模块,仅在 FreeBSD 下;

对线程的实验化支持,FreeBSD 4.x 的实现基于 rfork();

Nginx 主要的英语站点是 http://sysoev. ru/en/;

英语文档草稿由 Aleksandar Lazic 完成。

HTTP基础功能

处理静态文件,索引文件以及自动索引;

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

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

模块化的结构。过滤器包括gzipping,byte ranges,chunked responses,以及 SSI-filter。在SSI过滤器中,到同一个 proxy 或者 FastCGI 的多个子请求并发处理;

SSL 和 TLS SNI 支持;

IMAP/POP3代理服务功能:

使用外部HTTP认证服务器重定向用户到 IMAP/POP3 后端;

使用外部 HTTP 认证服务器认证用户后连接重定向到内部的 SMTP 后端;

其他HTTP功能

基于名称和基于IP的虚拟服务器

Keep-alive and pipelined connections support;保持活动和支持管线连接;

Flexible configuration;灵活的配置;

Reconfiguration and online upgrade without interruption of the client processing;重载配置,无间断程序升级;

Access log formats,bufferred log writing,and quick log rotation;访问日志格式,bufferred日志写,快速登录旋转;

3xx-5xx error codes redirection; 3xx的- 5xx错误代码重定向;

The rewrite module;重写模块;

Access control based on client IP address and HTTP Basic authentication;基于客户端IP地址访问控制和HTTP基本认证;

The PUT,DELETE,MKCOL,COPY and MOVE methods; 提交,删除,MKCOL,复制和移动方法;

FLV streaming;FLV视频流;

Speed limitation;速度限制;

Limitation of simultaneous connections or requests from one address.限制同个IP地址请求数量。

Embedded perl.嵌入式的Perl。

邮件代理服务器功能

用户重定向到IMAP/POP3后端使用外部HTTP认证服务器;

User authentication using an external HTTP authentication server and connection redirection to internal SMTP backend;用户身份验证使用外部HTTP认证服务器和连接重定向到内部的SMTP后端;

Authentication methods:验证方法:

POP3: USER/PASS,APOP,AUTH LOGIN/PLAIN/CRAM-MD5;的POP3:用户名/密码,的APOP,AUTH的LOGIN/PLAIN/CRAM-MD5;

IMAP: LOGIN,AUTH LOGIN/PLAIN/CRAM-MD5; IMAP的:登录,AUTH的LOGIN/PLAIN/CRAM-MD5;

SMTP: AUTH LOGIN/PLAIN/CRAM-MD5;的SMTP:AUTH的LOGIN/PLAIN/CRAM-MD5;

SSL support; SSL支持;

STARTTLS and STLS support. STARTTLS的和补充的支持。

认证方法

POP3: POP3 USER/PASS,APOP,AUTH LOGIN PLAIN CRAM-MD5;

IMAP: IMAP LOGIN;

SMTP: AUTH LOGIN PLAIN CRAM-MD5;

SSL 支持;

在 IMAP 和 POP3 模式下的 STARTTLS 和 STLS 支持。

本文来自网络,不代表本网站立场,转载请注明出处。http://loadingok.com/1409.html
© 2021 京ICP备2021027871号-1
联系我们

联系我们

18513870113

在线咨询: QQ交谈

邮箱: 1140136143@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部