nginx

内容纲要

nginx

官网:https://nginx.org/en/
文档:https://nginx.org/en/docs/

nginx [engine x]是一个HTTP和反向代理服务器,也是一个邮件代理服务器以及一个通用的TCP/UDP代理服务器,最初由Igor Sysoev编写。很长一段时间以来,它一直在俄罗斯的许多高负载网站上运行,包括Yandex、Mail.Ru、VK和Rambler。根据Netcraft的数据,在2023年9月,nginx为全球最繁忙的网站中的20.78%提供了服务或代理。以下是一些成功案例:Dropbox、Netflix、Wordpress.com和FastMail.FM。

该项目的源代码和文档都是根据类似于2条款的BSD许可证分发的

此外,Nginx, Inc. 还提供商业支持服务。

nginx具有以下基本的HTTP服务器特性

其他HTTP服务器特性

邮件代理服务器的特点

  • 用户通过外部HTTP身份验证服务器重定向到IMAPPOP3服务器;
  • 用户使用外部HTTP身份验证服务器进行身份验证,并将连接重定向到内部SMTP服务器;
  • 身份验证方法:
    • POP3:USER/PASS,APOP,AUTH LOGIN/PLAIN/CRAM-MD5;
    • IMAP:LOGIN,AUTH LOGIN/PLAIN/CRAM-MD5;
    • SMTP:AUTH LOGIN/PLAIN/CRAM-MD5;
  • SSL支持
  • STARTTLS和STLS支持。

TCP/UDP 代理服务器特性

体系结构和可伸缩性

  • 一个主进程和多个工作进程;工作进程在非特权用户下运行;
  • 灵活的配置
  • 在不中断客户服务的情况下重新配置升级可执行文件
  • 支持kqueue(FreeBSD 4.1+)、epoll(Linux 2.6+)、/dev/poll(Solaris 7 11/99+)、事件端口(Solaris 10)、select和poll;
  • 支持各种kqueue功能,包括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);
    Accept-filters(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; Linux 4 — 5 / s390x;
  • 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.

Leave a Comment

您的电子邮箱地址不会被公开。 必填项已用*标注

close
arrow_upward