Nginx

From Wikipedia, the free encyclopedia
  (Redirected from NGINX)
Jump to: navigation, search
Not to be confused with ENGIN-X.
Nginx
Nginx logo.svg
Original author(s) Igor Sysoev
Developer(s) Nginx, Inc.
Initial release 6 August 2002; 11 years ago (2002-08-06)
Stable release 1.6.0 / 24 April 2014 (2014-04-24)[1]
Preview release 1.7.3 / 8 July 2014 (2014-07-08)[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 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.[6] It also has a proof of concept port for Microsoft Windows.[7]

Description[edit]

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.[8] Its development started in 2002 by Igor Sysoev.[9] In July 2011, a company was formed as Nginx, Inc. Its principal place of business is San Francisco, California.[10] The company offered commercial support in February 2012,[11][12] and paid NGINX Plus subscription in August 2013.[13] An investment of $10 million led by New Enterprise Associates was reported in October 2013.[14] Other investors reportedly included Aaron Levie.[15] 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.[16]

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[17] can provide more predictable performance under high loads.[18]

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.[19] According to Netcraft's February 2014 Web Server Survey,[20] nginx was found to be the third most widely used web server across all domains (15% of surveyed sites) and the second most widely used web server for all "active" sites (13.46% of surveyed sites). According to W3Techs, it was used by 21.5% of the top 1 million websites, 29% of the top 100,000 websites, and by 38.5% of the top 1,000 websites.[21] According to BuiltWith, it is used on 20.8% of the top 10,000 websites, and its growth within the top 10k, 100k and 1 million segments increased.[22] Wikipedia uses nginx as its SSL termination proxy.[23] 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.[24] Eventually, Apache was removed from the base system.[25]

HTTP proxy and Web server features[edit]

Mail proxy features[edit]

Other features include upgrading executable and configuration without client connections loss,[38] and a module-based architecture.[39]

See also[edit]

References[edit]

  1. ^ Dounin, Maxim (24 April 2014). "nginx-1.6.0". nginx-announce@nginx.org mailing list. http://mailman.nginx.org/pipermail/nginx-announce/2014/000137.html. Retrieved 24 April 2014.
  2. ^ Dounin, Maxim (08 July 2014). "nginx-1.7.3". nginx-announce@nginx.org mailing list. http://mailman.nginx.org/pipermail/nginx-announce/2014/000141.html. Retrieved 09 July 2014.
  3. ^ "The NGINX Open Source Project on Ohloh". ohloh.net. Retrieved 7 March 2013. 
  4. ^ "nginx". Retrieved 7 March 2013. 
  5. ^ "Licensing". Retrieved 18 January 2013. 
  6. ^ "Tested OS and platforms". Retrieved 15 October 2011. 
  7. ^ "nginx for Windows". Retrieved 28 May 2014. 
  8. ^ Use nginx for Proxy Services and Software Load Balancing, 11 May 2010, by Sam Kleinman, Linode Library
  9. ^ Tony Mobily (5 January 2012). "Interview with Igor Sysoev, author of Apache's competitor NGINX". Free Software Magazine. Retrieved 18 October 2013. 
  10. ^ "Notice of Exempt Offering of Securities". Form D. US Securities and Exchange Commission. 17 October 2013. Retrieved 18 October 2013. 
  11. ^ Darryl K. Taft (8 February 2012). "NGINX Launches Commercial Support for Open-Source Web Server". e Week. Retrieved 18 October 2013. 
  12. ^ Steven J. Vaughan-Nichols (8 February 2012). "Commercial Support now available for the open-source NGINX Web server". ZDNet Open Source blog. Retrieved 18 October 2013. 
  13. ^ "Nginx Inc. Launches NGINX Plus". 22 August 2013. 
  14. ^ Sean Michael Kerner (16 October 2013). "Nginx Raises $10 Million in New Funding for Server Development". e Week. Retrieved 18 October 2013. 
  15. ^ Jolie O'Dell (15 October 2013). "Nginx ties up a sweet $10M funding deal and hundreds of millions of users". Venture Beat. Retrieved 18 October 2013. 
  16. ^ Shankland, Stephen (20 December 2013). "Nginx upgrade funded by fans of Google's SPDY Web protocol". CNET. Retrieved 6 January 2014. 
  17. ^ The Architecture of Open Source Applications. Chapter 14 nginx.
  18. ^ Basic nginx Configuration by Sam Kleinman; 21 August 2010
  19. ^ Nginx: the High-Performance Web Server and Reverse Proxy. Linux Journal. 1 September 2008. Retrieved 16 August 2009. 
  20. ^ "February 2014 Web Server Survey". 3 February 2014. Retrieved 7 February 2014. 
  21. ^ "Usage of web servers broken down by ranking". 6 February 2014. Retrieved 7 February 2014. 
  22. ^ "Statistics behind the nginx success story". 6 February 2014. Retrieved 7 February 2014. 
  23. ^ "Wikitech: HTTPS". Wikitech.wikimedia.org. 3 October 2011. Retrieved 3 December 2011. 
  24. ^ OpenBSD Upgrade Guide: 5.1 to 5.2, 2012/11/06 15:00:27 sthen
  25. ^ OpenBSD Following -current: 2014/03/13 - httpd(8) removed
  26. ^ "Module ngx_http_upstream_module". nginx.org. Retrieved 14 August 2012. 
  27. ^ "Tutorial: Ubuntu + Nginx + MySQL + PHP-FPM Server". collegetimes.tv. Retrieved 17 July 2014. 
  28. ^ "Announcing SPDY draft 2 implementation in nginx". nginx.org. 15 June 2012. Retrieved 16 June 2012. 
  29. ^ "Proxy: support for connection upgrade (101 Switching Protocols).". trac.nginx.org. 19 February 2013. Retrieved 21 February 2013. 
  30. ^ "Module ngx_http_mp4_module". nginx.org. Retrieved 24 April 2012. 
  31. ^ "Module ngx_http_gunzip_module". nginx.org. Retrieved 13 September 2012. 
  32. ^ "Module ngx_http_log_module - access_log". nginx.org. Retrieved 25 December 2012. 
  33. ^ "Module ngx_http_core_module - limit_rate". nginx.org. Retrieved 24 June 2012. 
  34. ^ "Module ngx_http_userid_module". nginx.org. Retrieved 20 November 2012. 
  35. ^ "Module ngx_http_xslt_module". nginx.org. Retrieved 6 May 2012. 
  36. ^ "Module ngx_http_perl_module". nginx.org. Retrieved 16 June 2012. 
  37. ^ "Module ngx_mail_auth_http_module". nginx.org. Retrieved 13 September 2012. 
  38. ^ "Official documentation: Controlling nginx". nginx.org. Retrieved 3 December 2011. 
  39. ^ "Third party modules". nginx Wiki. Retrieved 13 September 2012. 

External links[edit]