Nginx
Template:Distinguish Template:Use dmy dates Template:Merge from Template:Infobox software
Nginx (pronounced "engine-x") is an open source reverse proxy server for HTTP, HTTPS, SMTP, POP3, and IMAP protocols, as well as a load balancer, HTTP cache, and a web server (origin server). The nginx project started with a strong focus on high concurrency, high performance and low memory usage. It is licensed under the 2-clause BSD-like license and it runs on Linux, BSD variants, Mac OS X, Solaris, AIX, HP-UX, as well as on other *nix flavors.<ref>Template:Cite web</ref> It also has a proof of concept port for Microsoft Windows.<ref>Template:Cite web</ref>
Contents
Description
Nginx can be deployed to serve dynamic HTTP content on the network using FastCGI, SCGI handlers for scripts, WSGI application servers or Phusion Passenger module, and it can serve as a software load balancer.<ref>Use nginx for Proxy Services and Software Load Balancing, 11 May 2010, by Sam Kleinman, Linode Library</ref> Its development started in 2002 by Igor Sysoev.<ref>*****o</ref> In July 2011, a company was formed as Nginx, Inc. Its principal place of business is San Francisco, California.<ref name="D">Template:Cite web</ref> The company offered commercial support in February 2012,<ref>*****o</ref><ref>*****o</ref> and paid NGINX Plus subscription in August 2013.<ref>*****o</ref> An investment of $10 million led by New Enterprise Associates was reported in October 2013.<ref>*****o</ref> Other investors reportedly included Aaron Levie.<ref>*****o</ref> WordPress developer Automattic and Content Delivery Network provider MaxCDN have become funding partners for an update to Google's SPDY version 3.1, slated for early 2014.<ref name="SPDY update">Template:Cite web</ref>
Nginx uses an asynchronous event-driven approach to handling requests, instead of the Apache HTTP Server model that defaults to a threaded or process-oriented approach, where the Event MPM is required for asynchronous processing. Nginx's modular event-driven architecture<ref>The Architecture of Open Source Applications. Chapter 14 nginx.</ref> can provide more predictable performance under high loads.<ref>Basic nginx Configuration by Sam Kleinman; 21 August 2010</ref>
Originally, nginx was developed to fill the needs of websites including Rambler, for which it was serving 500 million requests per day by September 2008.<ref name="linuxjournal">Template:Cite journal</ref> According to Netcraft's August 2014 Web Server Survey,<ref>Template:Cite web</ref> nginx was found to be the second most widely used web server across all "active" sites (14.47% of surveyed sites) and for the top million busiest sites (19.60% of surveyed sites). According to W3Techs, it was used by 24.6% of the top 1 million websites, 32.9% of the top 100,000 websites, and by 41.1% of the top 1,000 websites.<ref>Template:Cite web</ref> According to BuiltWith, it is used on 23.8% of the top 10,000 websites, and its growth within the top 10k, 100k and 1 million segments increased.<ref>Template:Cite web</ref> Wikipedia uses nginx as its SSL termination proxy.<ref>Template:Cite web</ref> As of OpenBSD release 5.2 (1 November 2012), nginx became part of the OpenBSD base system, providing an alternative to the system's fork of Apache 1.3, which it was intended to replace.<ref name="openbsd_5.2">OpenBSD Upgrade Guide: 5.1 to 5.2, 2012/11/06 15:00:27 sthen</ref> Eventually, Apache was removed from the base system.<ref>OpenBSD Following -current: 2014/03/13 - httpd(8) removed</ref>
HTTP proxy and Web server features
- Ability to handle more than 10,000 simultaneous connections with a low memory footprint (~2.5 MB per 10k inactive HTTP keep-alive connections)
- Handling of static files, index files, and auto-indexing
- Reverse proxy with caching
- Load balancing with in-band health checks<ref>Template:Cite web</ref>
- Fault tolerance
- TLS/SSL with SNI and OCSP stapling support, via OpenSSL.
- FastCGI, SCGI, uWSGI support with caching
- Name- and IP address-based virtual servers
- IPv6-compatible
- SPDY protocol support<ref>Template:Cite web</ref>
- WebSockets and HTTP/1.1 Upgrade (101 Switching Protocols)<ref>Template:Cite web</ref>
- FLV and MP4<ref>Template:Cite web</ref> streaming
- Web page access authentication
- gzip compression and decompression<ref>Template:Cite web</ref>
- URL rewriting
- Custom logging with on-the-fly gzip compression<ref>Template:Cite web</ref>
- Response rate and concurrent requests limiting
- Bandwidth throttling<ref>Template:Cite web</ref>
- Server Side Includes
- IP address-based geolocation
- User tracking<ref>Template:Cite web</ref>
- WebDAV
- XSLT data processing<ref>Template:Cite web</ref>
- Embedded Perl scripting<ref>Template:Cite web</ref>
Mail proxy features
- TLS/SSL support
- STARTTLS support
- SMTP, POP3, and IMAP proxy
- Authentication using an external HTTP server<ref>Template:Cite web</ref>
Other features include upgrading executable and configuration without client connections loss,<ref>Template:Cite web</ref> and a module-based architecture.<ref>Template:Cite web</ref>
See also
References
| references-column-width | references-column-count references-column-count-{{#if:1|30em}} }} | {{#if: | references-column-width }} }}" style="{{#if: 30em | {{#iferror: {{#ifexpr: 30em > 1 }} | Template:Column-width | Template:Column-count }} | {{#if: | Template:Column-width }} }} list-style-type: {{#switch: | upper-alpha | upper-roman | lower-alpha | lower-greek | lower-roman = {{{group}}} | #default = decimal}};"><references group=""></references>