Nginx
Nginx, stylized as NGINX or 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 Igor Sysoev and publicly released in 2004. 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, often as a load balancer.
A company of the same name was founded in 2011 to provide support and Nginx Plus paid software. In March 2019, the company was acquired by F5 Networks for $670 million.
, Netcraft estimated Nginx served 36.48 percent of all active websites ranked, ranking it first, above Apache at 24.51 percent, while according to W3Techs, Apache is ranked first at 40.1 percent and Nginx second at 31.8 percent.
Popularity
According to Netcraft's November 2016 Web Server Survey, Nginx was the second-most widely used web server across all "active" sites and for the top million busiest sites. According to W3Techs, it was used by 38 percent of the top 1 million websites, 50 percent of the top 100,000 websites, and by 57 percent of the top 10,000 websites. According to BuiltWith, it is used on 38 percent of the top 10,000 websites, and its growth within the top 10k, 100k and 1 million segments increased. A 2018 survey of Docker usage found that Nginx was the most commonly deployed technology in Docker containers. In OpenBSD version 5.2, 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, but later in version 5.6 it was removed in favor of Apache with OpenBSD's own httpd.Features
Nginx can be deployed to serve dynamic HTTP content on the network using FastCGI, SCGI handlers for scripts, WSGI application servers or Phusion Passenger modules, and it can serve as a software load balancer.Nginx uses an asynchronous event-driven approach, rather than threads, to handle requests. Nginx's modular event-driven architecture can provide more predictable performance under high loads.
Nginx default configuration file is
nginx.conf
.HTTP proxy and Web server features
- Ability to handle more than 10,000 simultaneous connections with a low memory footprint
- Handling of static files, index files and auto-indexing
- Reverse proxy with caching
- Load balancing with in-band health checks
- TLS/SSL with SNI and OCSP stapling support, via OpenSSL
- FastCGI, SCGI, uWSGI support with caching
- gRPC support since March 2018, version 1.13.10.
- Name- and IP address-based virtual servers
- IPv6-compatible
- WebSockets since 1.3.13, including acting as a reverse proxy and do load balancing of WebSocket applications.
- HTTP/1.1 Upgrade, HTTP/2 protocol support
- URL rewriting and redirection
Mail proxy features
- TLS/SSL support
- STARTTLS support
- SMTP, POP3, and IMAP proxy
- Requires authentication using an external HTTP server or by an authentication script
The paid Plus product includes additional features such as advanced load balancing and access to an expanded suite of metrics for performance monitoring.
Nginx vs Nginx Plus
There are two versions of Nginx: OSS Nginx and Nginx Plus. Nginx Plus offers additional features not included in OSS Nginx, 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 and web application firewall dynamic module.Nginx vs Apache
Nginx was written with an explicit goal of outperforming the Apache web server. Out of the box, serving static files, Nginx uses much less memory than Apache, and can handle roughly four times as many requests per second. However, this performance boost comes at a cost of decreased flexibility, such as the ability to override systemwide access settings on a per-file basis.Nginx also has a reputation of being harder to install and configure than Apache. 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. 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.
Nginx is generally considered to be less stable on Windows Server than it is on Linux, while Apache has equal support for both.
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. 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.History
began development of Nginx in 2002. 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.Nginx Inc. was founded in July 2011 by Sysoev and Maxim Konovalov to provide commercial products and support for the software.
The company's principal place of business is San Francisco, California, while legally incorporated in British Virgin Islands.
In October 2011, Nginx, Inc. raised $3 million from BV Capital, Runa Capital, and MSD Capital, Michael Dell's venture fund.
The company announced commercial support options for companies using Nginx in production. Nginx offered commercial support in February 2012, and paid Nginx Plus subscription in August 2013.Support packages focus on installation, configuration, performance improvement, etc. 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.
In October 2013, Nginx, Inc. raised a $10 million series B investment round led by New Enterprise Associates. That round included previous investors, as well as Aaron Levie, CEO and founder of Box.com. In December 2014, Nginx raised a $20 million series B1 round led by New Enterprise Associates, with participation from e.ventures, Runa Capital, Index Ventures and Nginx's own CEO Gus Robertson.
In September 2017, Nginx announced an API management tool, NGINX Controller, which would build off of their API Gateway, NGINX Plus. In October 2017, Nginx, Inc. announced general available Nginx Amplify SaaS providing monitoring and analytics capabilities for Nginx.
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".
On 11 March 2019, F5 Networks acquired Nginx, Inc. for US$670 million.
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 he was an employee of the company. 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.