Software:Nginx

From HandWiki
Short description: Open source web server and a reverse proxy server
NGINX
Nginx logo.svg
Original author(s)Igor Sysoev
Developer(s)F5, Inc.
Initial release4 October 2004; 19 years ago (2004-10-04)[1]
Written inC[2]
Operating systemBSD variants, HP-UX, IBM AIX, Linux, macOS, Solaris, Microsoft Windows,[3] and other *nix flavors[4]
TypeWeb server, reverse/mail proxy server
LicenseNginx: BSD-2-Clause License[5]
Nginx Plus: Proprietary software[6]
Website{{{1}}}

Nginx (pronounced "engine x"[7] /ˌɛnɪnˈɛks/ EN-jin-EKS, stylized as NGINX or nginx) is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache. The software was created by Russian developer Igor Sysoev and publicly released in 2004.[8] Nginx is free and open-source software, released under the terms of the 2-clause BSD license. A large fraction of web servers use Nginx,[9] often as a load balancer.[10]

A company of the same name was founded in 2011 to provide support and NGINX Plus paid software.[11] In March 2019, the company was acquired by F5, Inc. for $670 million.[12]

Popularity

(As of June 2022), W3Tech's web server count of all web sites ranked Nginx first with 33.6%. Apache was second at 31.4% and Cloudflare Server third at 21.6%.[13] (As of March 2022), Netcraft estimated that Nginx served 22.01% of the million busiest websites with Apache a little ahead at 23.04%. Cloudflare at 19.53% and Microsoft Internet Information Services at 5.78% rounded out the top four servers for the busiest websites. Some of Netcraft's other statistics show Nginx ahead of Apache.[14]

A 2018 survey of Docker usage found that Nginx was the most commonly deployed technology in Docker containers.[15] In OpenBSD version 5.2 (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,[16] but later in version 5.6 (November 2014) it was removed in favor of OpenBSD's own httpd(8).[17]

Features

Nginx is easy to configure in order to serve static web content or to act as a proxy server.[18]

Nginx can be deployed to also serve dynamic content on the network using FastCGI, SCGI handlers for scripts, WSGI application servers or Phusion Passenger modules, and can serve as a software load balancer.[19][18]

Nginx uses an asynchronous event-driven approach, rather than threads, to handle requests.[20] Nginx's modular event-driven architecture can provide predictable performance under high loads.[21][22]

HTTP proxy and Web server features

Mail proxy features

  • TLS/SSL support
  • STARTTLS support
  • SMTP,[34] POP3, and IMAP proxy
  • Requires authentication using an external HTTP server or by an authentication script[35][34]

Other features include upgrading executable and configuration without client connections loss,[36] and a module-based architecture with both core[37] and third-party module support.[38]

The paid Plus product includes additional features such as advanced load balancing and access to an expanded suite of metrics for performance monitoring.[39][40]

Nginx vs Nginx Plus

There are two versions of Nginx: Nginx Open Source and Nginx Plus.

Nginx Open Source is free and open-source software.

Nginx Plus is sold as a subscription model. It offers features in addition to Nginx Open Source, such as active health checks, session persistence based on cookies, DNS-service-discovery integration, Cache Purging API, AppDynamic, Datalog, Dynatrace New Relic plug-ins, Active-Active HA with config sync, Key-Value Store, on-the-fly with zero downtime updates upstream configurations, and key‑value stores using Nginx Plus API[41] and web application firewall (WAF) dynamic module.[42]

Nginx in comparison to Apache

Nginx was written with an explicit goal of outperforming the Apache web server.[43] While in the past Nginx used to outperform Apache, since Apache 2.4 they offer similar performance. [44][45] This former performance boost came at a cost of decreased flexibility, such as the ability to override system-wide access settings on a per-file basis (Apache accomplishes this with an .htaccess file, while Nginx has no such feature built in).[46][47]

Formerly, adding third-party modules to Nginx required recompiling the application from source with the modules statically linked. This was partially overcome in version 1.9.11 in February 2016, with the addition of dynamic module loading.[48] However, the modules still must be compiled at the same time as Nginx, and not all modules are compatible with this system; some require the older static linking process.[49]

Nginx Unit

Nginx Unit is an open-source web application server, released in 2017 by NGINX, Inc. to target multi-language microservices-based applications. The initial release supported applications written in Go, PHP, and Python.[50] By version 1.11.0, the support was extended to Java, Node.js, Perl, and Ruby applications; other features include dynamic configuration, request routing, and load balancing.[51][52]

History

Igor Sysoev began development of Nginx in 2002.[8] Originally, Nginx was developed to solve the C10k problem, and to fill the needs of multiple websites including the Rambler search engine and portal, for which it was serving 500 million requests per day by September 2008.[53]

Nginx Inc. was founded in July 2011 by Sysoev and Maxim Konovalov[11][54] to provide commercial products and support for the software.[55]

The company's principal place of business is San Francisco, California, while legally incorporated in British Virgin Islands.[11]

In October 2011, Nginx, Inc. raised $3 million from BV Capital, Runa Capital, and MSD Capital, Michael Dell's venture fund.[56]

The company announced commercial support options for companies using Nginx in production. Nginx offered commercial support in February 2012,[57][58] and paid Nginx Plus subscription in August 2013.[59] Support packages focus on installation, configuration, performance improvement, etc.[60] Support includes proactive notifications about major changes, security patches, updates and patches. Nginx, Inc. also offers consulting services to assist customers in custom configuration or adding additional features.[61]

In October 2013, Nginx, Inc. raised a $10 million series B investment round led by New Enterprise Associates.[62] That round included previous investors, as well as Aaron Levie, CEO and founder of Box.com.[63][64] In December 2014, Nginx raised a $20 million series B1 round led by New Enterprise Associates, with participation from e.ventures (formerly BV Capital), Runa Capital, Index Ventures and Nginx's own CEO Gus Robertson.[65][66]

In September 2017, Nginx announced an API management tool, NGINX Controller, which would build off of their API Gateway, NGINX Plus.[67][68] In October 2017, Nginx, Inc. announced general available Nginx Amplify SaaS providing monitoring and analytics capabilities for Nginx.[69]

In June 2018, Nginx, Inc. raised $43 million in Series C Funding in a round led by Goldman Sachs "to Accelerate Application Modernization and Digital Transformation for Enterprises".[70]

On 11 March 2019, F5, Inc. acquired Nginx, Inc. for US$670 million.[71]

On 12 December 2019, it was reported that the Moscow offices of Nginx Inc. had been raided by police, and that Sysoev and Konovalov had been detained. The raid was conducted under a search warrant connected to a copyright claim over Nginx by Rambler—which asserts that it owns all rights to the code because it was written while Sysoev was an employee of the company.[72] On 16 December 2019, Russian state lender Sberbank, which owns 46.5 percent of Rambler, called an extraordinary meeting of Rambler's board of directors asking Rambler's management team to request Russian law enforcement agencies cease pursuit of the criminal case, and begin talks with Nginx and with F5.[73]

On 18 January 2022, it was announced that Igor Sysoev was leaving Nginx and F5.[74]

In late 2022, Angie, a fully open source fork of Nginx was released by some of the former Nginx developers.[75][76] Igor Sysoev himself is not actively involved in this project.[77]

See also

References

  1. "CHANGES". http://nginx.org/en/CHANGES. 
  2. "The NGINX Open Source Project on Black Duck Open Hub". https://www.openhub.net/p/nginx/analyses/latest/languages_summary. 
  3. "nginx for Windows". http://nginx.org/en/docs/windows.html. 
  4. "Tested OS and platforms". http://nginx.org/en/#tested_os_and_platforms. 
  5. "Licensing". http://nginx.org/LICENSE. 
  6. "End User License Agreement". https://www.nginx.com/wp-content/uploads/2023/04/F5-End-User-License-Agreement-DOC-0355-18.pdf. 
  7. "Igor Sysoev". http://sysoev.ru/en/. 
  8. 8.0 8.1 Tony Mobily (5 January 2012). "Interview with Igor Sysoev, author of Apache's competitor NGINX". Free Software Magazine. http://www.freesoftwaremagazine.com/articles/interview_igor_sysoev_author_apaches_competitor_nginx. 
  9. Survey (2023-07-31). "July 2023 Web Server Survey | Netcraft" (in en-US). https://www.netcraft.com/blog/july-2023-web-server-survey/. 
  10. "Use NGINX as a Front-end Proxy and Software Load Balancer". https://www.linode.com/docs/uptime/loadbalancing/use-nginx-as-a-front-end-proxy-and-software-load-balancer. 
  11. 11.0 11.1 11.2 "Notice of Exempt Offering of Securities". US Securities and Exchange Commission 17 October 2013. https://www.sec.gov/Archives/edgar/data/1588848/000158884813000001/xslFormDX01/primary_doc.xml. 
  12. "F5 acquires NGINX for $670M to move into open-source, multi-cloud services". 11 March 2019. http://social.techcrunch.com/2019/03/11/f5-acquires-nginx-for-670m-to-move-into-open-source-multi-cloud-services/. 
  13. "Usage Statistics of Web Servers". https://w3techs.com/technologies/overview/web_server. 
  14. "March 2022 Web Server Survey" (in en-gb). 29 March 2022. https://news.netcraft.com/archives/2022/03/29/march-2022-web-server-survey.html. 
  15. "8 surprising facts about real Docker adoption". 13 June 2018. https://www.datadoghq.com/docker-adoption/. 
  16. "OpenBSD Upgrade Guide: 5.1 to 5.2". 6 November 2012. http://www.openbsd.org/faq/upgrade52.html#nginx. 
  17. "Heads Up: Nginx Removed From Base". http://undeadly.org/cgi?action=article&sid=20140827065755. 
  18. 18.0 18.1 "Beginner's Guide". http://nginx.org/en/docs/beginners_guide.html. 
  19. "Use NGINX as a Front-end Proxy and Software Load Balancer". Linode Guides & Tutorials. https://www.linode.com/docs/uptime/loadbalancing/use-nginx-as-a-front-end-proxy-and-software-load-balancer/. 
  20. "Welcome to NGINX Wiki! - NGINX". https://www.nginx.com/resources/wiki/. 
  21. "The Architecture of Open Source Applications (Volume 2): nginx". http://www.aosabook.org/en/nginx.html. 
  22. "How to Configure NGINX". Linode Guides & Tutorials. 8 March 2018. https://www.linode.com/docs/web-servers/nginx/how-to-configure-nginx/. 
  23. "NGINX Docs | NGINX Reverse Proxy". https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/. 
  24. "NGINX Docs | HTTP Load Balancing". https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/. 
  25. "Module ngx_http_upstream_module". nginx.org. http://nginx.org/en/docs/http/ngx_http_upstream_module.html. 
  26. "Introducing gRPC Support with NGINX 1.13.10". 17 March 2018. https://www.nginx.com/blog/nginx-1-13-10-grpc/. 
  27. "WebSocket proxying". https://nginx.org/en/docs/http/websocket.html. 
  28. "Using NGINX as a WebSocket Proxy". 17 May 2014. https://www.nginx.com/blog/websocket-nginx/. 
  29. "Proxy: support for connection upgrade (101 Switching Protocols).". trac.nginx.org. 19 February 2013. http://trac.nginx.org/nginx/changeset/5073/nginx. 
  30. "Changes with nginx 1.25.0". 23 May 2023. https://nginx.org/en/CHANGES. 
  31. Murenin, Constantine A. (18 February 2013). "A dynamic web-site written wholly in nginx.conf? Introducing mdoc.su!". nginx@nginx.org (Mailing list). Retrieved 24 December 2014.
  32. Murenin, Constantine A. (24 February 2013). "mdoc.su – Short manual page URLs for FreeBSD, OpenBSD, NetBSD and DragonFly BSD". http://mdoc.su/. 
  33. Patel, Keral (9 September 2023). "How to Force HTTPS with OR without www Prefix". https://www.keralpatel.com/how-to-force-https-with-or-without-www-prefix/. 
  34. 34.0 34.1 "NGINX Docs | Configuring NGINX as a Mail Proxy Server". https://docs.nginx.com/nginx/admin-guide/mail-proxy/mail-proxy/. 
  35. "Module ngx_mail_auth_http_module". nginx.org. http://nginx.org/en/docs/mail/ngx_mail_auth_http_module.html. 
  36. "Official documentation: Controlling nginx". nginx.org. http://nginx.org/en/docs/control.html. 
  37. "nginx documentation". http://nginx.org/en/docs/. 
  38. "3rdPartyModules – Nginx Community". http://wiki.nginx.org/3rdPartyModules. 
  39. "How to monitor NGINX". Datadog. 9 July 2015. https://www.datadoghq.com/blog/how-to-monitor-nginx/. 
  40. "Application Load Balancing with NGINX Plus". NGINX. https://www.nginx.com/products/application-load-balancing/. 
  41. "Load balancing with NGINX Plus". https://www.nginx.com/products/nginx/load-balancing/. 
  42. "NGINX Plus is a software load balancer, web server, and content cache system". https://www.nginx.com/products/nginx/#compare-versions. 
  43. "NGINX vs. Apache: Our View of a Decade-Old Question". NGINX. 9 October 2015. https://www.nginx.com/blog/nginx-vs-apache-our-view/. 
  44. "Apache httpd 2.4". http://people.apache.org/~jim/presos/ACNA11/Apache_httpd_cloud.pdf. 
  45. "Picking a Proxy Server". 14 April 2014. http://www.slideshare.net/bryan_call/choosing-a-proxy-server-apachecon-2014. 
  46. Jankov, Tonino (13 June 2018). "Apache vs Nginx Performance: Optimization Techniques — SitePoint". SitePoint. https://www.sitepoint.com/apache-vs-nginx-performance-optimization-techniques/. 
  47. "Which web server should you use — Apache or NGINX?". 18 August 2023. https://www.techrepublic.com/article/which-web-server-should-you-use-apache-or-nginx/. 
  48. "CHANGES-1.10". 31 January 2017. http://nginx.org/en/CHANGES-1.10. 
  49. "Introducing Dynamic Modules in NGINX 1.9.11 - NGINX". NGINX. 9 February 2016. https://www.nginx.com/blog/dynamic-modules-nginx-1-9-11/. 
  50. "Nginx goes beyond its server roots and launches its application platform". 6 September 2017. https://techcrunch.com/2017/09/06/nginx-launches-its-application-platform/. 
  51. "CHANGES". https://unit.nginx.org/CHANGES.txt. 
  52. "March 2020 Web Server Survey". 20 March 2020. https://news.netcraft.com/archives/2020/03/20/march-2020-web-server-survey.html. 
  53. "Nginx: the High-Performance Web Server and Reverse Proxy". Linux Journal. 1 September 2008. http://www.linuxjournal.com/article/10108. Retrieved 16 August 2009. 
  54. "Maxim Konovalov". https://www.nginx.com/people/maxim-konovalov/. 
  55. "Company". nginx.com. 3 January 2012. http://nginx.com/company.html. 
  56. Natasha Starkell (11 October 2011). "Russian Nginx Raises $3 Million From International Investors". Techcrunch. https://techcrunch.com/2011/10/11/russian-nginx-raises-3-million-from-international-investors/. 
  57. Darryl K. Taft (8 February 2012). "NGINX Launches Commercial Support for Open-Source Web Server". e Week. http://www.eweek.com/c/a/Linux-and-Open-Source/NGINX-Launches-Commercial-Support-for-OpenSource-Web-Server-457321. [yes|permanent dead link|dead link}}]
  58. Steven J. Vaughan-Nichols (8 February 2012). "Commercial Support now available for the open-source NGINX Web server". ZDNet Open Source blog. http://www.zdnet.com/blog/open-source/commercial-support-now-available-for-the-open-source-nginx-web-server/10321. 
  59. "Nginx Inc. Launches NGINX Plus". 22 August 2013. http://nginx.com/news/nginx-inc-launches-nginx-plus/. 
  60. Taft, Darryl K. (8 February 2012). "NGINX Launches Commercial Support for Open-Source Web Server". eweek.com. http://www.eweek.com/c/a/Linux-and-Open-Source/NGINX-Launches-Commercial-Support-for-OpenSource-Web-Server-457321/. 
  61. "Commercial Support now available for the open-source NGINX Web server". ZDNet. 8 February 2012. http://www.zdnet.com/blog/open-source/commercial-support-now-available-for-the-open-source-nginx-web-server/10321. 
  62. Sean Michael Kerner (16 October 2013). "Nginx Raises $10 Million in New Funding for Server Development". e Week. http://www.eweek.com/servers/nginx-raises-10-million-in-new-funding-for-server-development.html. 
  63. Frederic Lardinois (15 October 2013). "Nginx Raises $10M Series B Round Led By NEA". Techcrunch. https://techcrunch.com/2013/10/15/nginx-raises-10m-series-b-round-led-by-nea/. 
  64. Jolie O'Dell (15 October 2013). "Nginx ties up a sweet $10M funding deal and hundreds of millions of users". Venture Beat. https://venturebeat.com/2013/10/15/nginx-ties-up-a-sweet-10m-funding-deal-and-hundreds-of-millions-of-users. 
  65. Frederic Lardinois (9 December 2014). "Nginx Raises $20M Series B1 Round To Drive International Expansion". Techcrunch. https://techcrunch.com/2014/12/09/nginx-raises-20m-series-b1-round-to-drive-international-expansion/. 
  66. Jordan Novet (9 December 2014). "Nginx gets $20M, because an open-source web server is just the beginning". VentureBeat. https://venturebeat.com/2014/12/09/nginx-funding/. 
  67. "NGINX releases its new NGINX Application Platform". SD Times. 6 September 2017. https://sdtimes.com/application-development/nginx-application-platform-app-development/. 
  68. "Introducing NGINX API Management: Manage NGINX Plus API Gateways with NGINX Controller - NGINX". NGINX. 9 October 2018. https://www.nginx.com/blog/introducing-nginx-api-management-api-gateways-with-nginx-controller/. 
  69. "NGINX Amplify is Generally Available - NGINX". 1 October 2017. https://www.nginx.com/blog/nginx-amplify-demo/. 
  70. "NGINX Raises $43 Million in Series C Funding to Accelerate Application Modernization and Digital Transformation for Enterprises" (Press release). 20 June 2018. Retrieved 11 October 2018.
  71. Vaughan-Nichols, Steven J.. "F5 acquires NGINX: What to expect from the deal". ZDNet. https://www.zdnet.com/article/f5-acquires-nginx-what-to-expect-from-the-deal/. 
  72. Cimpanu, Catalin. "Russian police raid NGINX Moscow office". ZDNet. https://www.zdnet.com/article/russian-police-raid-nginx-moscow-office/. 
  73. Tsydenova, Nadezhda (16 December 2019). "Russia's Rambler drops effort for criminal case against Nginx web server". Reuters. https://www.reuters.com/article/us-russia-internet-rambler-nginx/russias-rambler-drops-effort-for-criminal-case-against-nginx-web-server-idUSKBN1YK24N. 
  74. Whiteley, Rob (18 January 2022). "Do Svidaniya, Igor, and Thank You for NGINX". NGINX (Press release). Archived from the original on 19 January 2022. Retrieved 19 January 2022. we announce today Igor has chosen to step back from NGINX and F5 in order to spend more time with his friends and family and to pursue personal projects
  75. Darkcrizt (2022-11-03). "Angie, the Nginx fork created by developers who left F5" (in en). https://blog.desdelinux.net/en/angie-the-nginx-fork-created-by-devs-who-ditched-f5/. 
  76. "Angie: A New NGINX Fork Developed by Some of Its Former Devs" (in en). http://vuink.com/post/yvahkvnp-d-dpbz/angie-web-server-is-a-new-nginx-fork. 
  77. Borisov, Bobby (2022-10-31). "Angie: A New NGINX Fork Developed by Some of Its Former Devs" (in en-US). https://linuxiac.com/angie-web-server-is-a-new-nginx-fork/. 

External links