Nginx
nginx [engine x]是HTTP和反向代理服务器,邮件代理服务器和通用TCP / UDP代理服务器,最初由Igor Sysoev编写。长期以来,它已经在许多负载较重的俄罗斯站点上运行,包括 Yandex, Mail.Ru, VK和 Rambler。根据Netcraft,nginx 在2020年5月服务或代理了 25.62%最繁忙的站点。以下是一些成功案例: Dropbox, Netflix, Wordpress.com, FastMail.FM。
来源和文档根据 2条款类似BSD的许可证分发。
可从Nginx,Inc.获得商业支持 。
基本的HTTP服务器功能
- 提供静态和 索引 文件, 自动索引 ; 打开文件描述符缓存 ;
- 带有缓存的加速反向代理; 负载平衡和容错 ;
- 对FastCGI, uwsgi, SCGI和 memcached 服务器进行缓存的加速支持 ; 负载平衡和容错 ;
- 模块化架构。过滤器包括 gzipping,字节范围,分块响应, XSLT, SSI和图像转换过滤器。如果由代理服务器或FastCGI / uwsgi / SCGI服务器处理单个页面中的多个SSI包含,则可以并行处理;
- SSL和TLS SNI支持;
- 通过加权和基于依赖项的优先级 支持HTTP / 2。
其他HTTP服务器功能
- 基于名称和基于IP的 虚拟服务器;
- 保持活动 和管道连接支持;
- 访问日志格式, 缓冲日志写入, 快速日志循环和 syslog日志 ;
- 3xx-5xx错误代码 重定向;
- 重写模块: 使用正则表达式更改URI;
- 根据 客户地址执行不同的功能 ;
- 基于客户端IP地址, 密码(HTTP基本身份验证)和 子请求结果的访问控制 ;
- HTTP参考者的 验证 ;
- 该PUT,DELETE,MKCOL,复制和移动方法;
- FLV 和 MP4 流媒体;
- 响应率限制 ;
- 限制 来自一个地址的同时连接 或 请求的数量 ;
- 基于IP的地理位置;
- A / B测试 ;
- 请求镜像 ;
- 嵌入式Perl ;
- njs脚本语言。
邮件代理服务器功能
- 使用外部HTTP 身份验证 服务器 将用户重定向到 IMAP 或 POP3服务器;
- 使用外部HTTP 身份验证 服务器的用户身份 验证以及到内部SMTP服务器的连接重定向 ;
- 认证方式:
- SSL支持;
- STARTTLS和STLS支持。
TCP / UDP代理服务器功能
- TCP和UDP的通用代理;
- SSL和TLS SNI对TCP的支持;
- 负载平衡和容错 ;
- 基于客户地址的访问控制 ;
- 根据客户地址执行不同的功能 ;
- 限制 来自一个地址的同时连接数 ;
- 访问日志格式, 缓冲日志写入, 快速日志循环和 syslog日志 ;
- 基于IP的地理位置;
- A / B测试 ;
- njs脚本语言。
架构和可扩展性
- 一个主人和几个工人的过程;工作进程在没有特权的用户下运行;
- 灵活的配置 ;
- 重新配置 和升级可执行文件,而不会中断客户端服务;
- 支持 kqueue(FreeBSD 4.1 +),epoll(Linux 2.6 +),/ dev / poll(Solaris 7 11/99 +),事件端口(Solaris 10),选择和轮询;
- 支持各种队列功能,包括EV_CLEAR,EV_DISABLE(用于临时禁用事件),NOTE_LOWAT,EV_EOF,可用数据数,错误代码;
- 支持各种epoll功能,包括EPOLLRDHUP(Linux 2.6.17 +,glibc 2.8+)和EPOLLEXCLUSIVE(Linux 4.5 +,glibc 2.24+);
- sendfile(FreeBSD 3.1 +,Linux 2.2 +,macOS 10.5 +),sendfile64(Linux 2.4.21+)和sendfilev(Solaris 8 7/01 +)支持;
- 文件AIO (FreeBSD 4.3+,Linux 2.6.22+);
- DIRECTIO (FreeBSD 4.4 +,Linux 2.4 +,Solaris 2.6 +,macOS);
- 接受过滤器(FreeBSD 4.1+,NetBSD 5.0+)和TCP_DEFER_ACCEPT(Linux 2.4+) 支持 ;
- 10,000个不活动的HTTP保持活动连接大约需要2.5M内存;
- 数据复制操作保持最少。
经过测试的操作系统和平台
- FreeBSD 3 — 12 / i386; FreeBSD 5 — 12 / amd64; FreeBSD 11 / ppc; FreeBSD 12 / ppc64;
- Linux 2.2-4 / i386;Linux 2.6-5 / amd64; Linux 3-4 / armv6l,armv7l,aarch64,ppc64le;
- Solaris 9 / i386,sun4u; Solaris 10 / i386,amd64,sun4v; Solaris 11 / x86;
- AIX 7.1 / PowerPC;
- HP-UX 11.31 / ia64;
- macOS / ppc,i386,x86_64;
- Windows XP,Windows Server 2003,Windows 7,Windows 10。
nginx:下载
主线版本
变化 | nginx-1.19.0 pgp | nginx / Windows-1.19.0 pgp |
稳定版
变化1.18 | nginx-1.18.0 pgp | nginx / Windows-1.18.0 pgp |
旧版
变化1.16 | nginx-1.16.1 pgp | nginx / Windows-1.16.1 pgp |
变化1.14 | nginx-1.14.2 pgp | nginx / Windows-1.14.2 pgp |
变化1.12 | nginx-1.12.2 pgp | nginx / Windows-1.12.2 pgp |
变更-1.10 | nginx-1.10.3 pgp | nginx / Windows-1.10.3 pgp |
变更1.8 | nginx-1.8.1 pgp | nginx / Windows-1.8.1 pgp |
变化1.6 | nginx-1.6.3 pgp | nginx / Windows-1.6.3 pgp |
变更1.4 | nginx-1.4.7 pgp | nginx / Windows-1.4.7 pgp |
变更1.2 | nginx-1.2.9 pgp | nginx / Windows-1.2.9 pgp |
变更1.0 | nginx-1.0.15 pgp | nginx / Windows-1.0.15 pgp |
变更0.8 | nginx-0.8.55 pgp | nginx / Windows-0.8.55 pgp |
变化0.7 | nginx-0.7.69 pgp | nginx / Windows-0.7.69 pgp |
变更0.6 | nginx-0.6.39 pgp |
变更0.5 | nginx-0.5.38 pgp |
下载地址:
0个回答
写回答
Click here to cancel reply.