nginx
|
|
This article appears to be written like an advertisement. (January 2013) |
| Original author(s) | Igor Sysoev |
|---|---|
| Developer(s) | NGINX, Inc. |
| Initial release | 6 August 2002 |
| Stable release | 1.4.1 / 7 May 2013[1] |
| Preview release | 1.5.0 / 7 May 2013[2] |
| Development status | Active |
| Written in | C[3] |
| Operating system | Cross-platform[4] |
| Type | Web server, reverse/mail proxy server |
| License | 2-clause BSD[5] |
| Website | nginx.org |
nginx (pronounced "engine x") is an open source web server and a reverse proxy server for HTTP, SMTP, POP3, and IMAP protocols, with a strong focus on high concurrency, performance and low memory usage. It is licensed under a BSD-like license and it runs on Unix, Linux, BSD variants, Mac OS X, Solaris, AIX, HP-UX, and Microsoft Windows.[6]
Overview
nginx can deploy dynamic HTTP content on a network using FastCGI, SCGI handlers for scripts, uWSGI application servers or Phusion Passenger module, and it can serve as a software load balancer.[7]
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. nginx's event-driven approach can provide more predictable performance under high loads.[8]
Usage
Originally, nginx was developed to fill the needs of various websites run by Rambler, for which it was serving 500 million requests per day as of September 2008.[9]
According to Netcraft's December 2012 Web Server Survey,[10] nginx was found to be the third most widely used web server across all domains (12.07% of surveyed sites) and the second most widely used web server for all "active" sites (11.83% of surveyed sites). According to W3Techs, it is used by 14.0% of the top 1 million websites, and by 29.1% of the top 1,000 websites.[11] According to BuiltWith, it is used on 18% of the top 10,000 websites, and its growth within the top 10k, 100k and 1 million segments is increasing.[12]
Wikipedia uses nginx as its SSL termination proxy.[13]
As of OpenBSD release 5.2 (1 November 2012), nginx is part of the OpenBSD base system, providing an alternative to the system's fork of Apache 1.3, which it is intended to replace eventually.[14]
Basic HTTP 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[15]
- 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[16]
- WebSockets and HTTP/1.1 Upgrade (101 Switching Protocols)[17]
- FLV and MP4[18] streaming
- Web page access authentication
- gzip compression and decompression[19]
- URL rewriting
- Custom logging with on-the-fly gzip compression[20]
- Response rate and concurrent requests limiting
- Bandwidth throttling[21]
- Server Side Includes
- IP address-based geolocation
- User tracking[22]
- WebDAV
- XSLT data processing[23]
- Embedded Perl scripting[24]
See also
↑Jump back a sectionReferences
- ^ "nginx latest stable version released". 2013-05-07.
- ^ "nginx-1.5.0". 2013-05-07.
- ^ "The NGINX Open Source Project on Ohloh". ohloh.net. Retrieved 7 March 2013.
- ^ "nginx". Retrieved 7 March 2013.
- ^ "Licensing". Retrieved 18 January 2013.
- ^ "Tested OS and platforms". Retrieved 15 October 2011.
- ^ Use nginx for Proxy Services and Software Load Balancing, 11 May 2010, by Sam Kleinman, Linode Library
- ^ Basic nginx Configuration by Sam Kleinman; 21 August 2010
- ^ Nginx: the High-Performance Web Server and Reverse Proxy. Linux Journal. 1 September 2008. Retrieved 16 August 2009.
- ^ "December 2012 Web Server Survey". 4 December 2012. Retrieved 29 December 2012.
- ^ "Usage of web servers broken down by ranking". 29 December 2012. Retrieved 29 December 2012.
- ^ "Statistics behind the nginx success story". 21 December 2012. Retrieved 29 December 2012.
- ^ "Wikitech: HTTPS". Wikitech.wikimedia.org. 3 October 2011. Retrieved 3 December 2011.
- ^ OpenBSD Upgrade Guide: 5.1 to 5.2, 2012/11/06 15:00:27 sthen
- ^ "Module ngx_http_upstream_module". nginx.org. Retrieved 14 August 2012.
- ^ "Announcing SPDY draft 2 implementation in nginx". nginx.org. 15 June 2012. Retrieved 16 June 2012.
- ^ "Proxy: support for connection upgrade (101 Switching Protocols).". trac.nginx.org. 19 February 2013. Retrieved 21 February 2013.
- ^ "Module ngx_http_mp4_module". nginx.org. Retrieved 24 April 2012.
- ^ "Module ngx_http_gunzip_module". nginx.org. Retrieved 13 September 2012.
- ^ "Module ngx_http_log_module - access_log". nginx.org. Retrieved 25 December 2012.
- ^ "Module ngx_http_core_module - limit_rate". nginx.org. Retrieved 24 June 2012.
- ^ "Module ngx_http_userid_module". nginx.org. Retrieved 20 November 2012.
- ^ "Module ngx_http_xslt_module". nginx.org. Retrieved 6 May 2012.
- ^ "Module ngx_http_perl_module". nginx.org. Retrieved 16 June 2012.
- ^ "Module ngx_mail_auth_http_module". nginx.org. Retrieved 13 September 2012.
- ^ "Official documentation: Controlling nginx". nginx.org. Retrieved 3 December 2011.
- ^ "Third party modules". nginx Wiki. Retrieved 13 September 2012.
External links
- Official website
- Cygwin-based Windows builds of nginx for Windows 32-bit and Windows 64-bit
- Tengine, an nginx fork with some advanced features
|
|||||||||||||||||||||||
