Nginx Blog
   HOME

TheInfoList



OR:

Nginx (pronounced "engine x" , stylized as NGINX or nginx) is a
web server A web server is computer software and underlying Computer hardware, hardware that accepts requests via Hypertext Transfer Protocol, HTTP (the network protocol created to distribute web content) or its secure variant HTTPS. A user agent, co ...
that can also be used as a
reverse proxy In computer networks, a reverse proxy or surrogate server is a proxy server that appears to any client to be an ordinary web server, but in reality merely acts as an intermediary that forwards the client's requests to one or more ordinary web s ...
,
load balancer In computing, load balancing is the process of distributing a set of tasks over a set of resources ''Resource'' refers to all the materials available in our environment which are Technology, technologically accessible, Economics, economically ...
, mail proxy and
HTTP cache A web cache (or HTTP cache) is a system for optimizing the World Wide Web. It is implemented both client-side and server-side. The caching of multimedia and other files can result in less overall delay when web browser, browsing the Web. Parts o ...
. The software was created by Russian developer
Igor Sysoev Igor Vladimirovich Sysoev () is a Russian software engineer. In October 2004, he released the Nginx Web server, reverse proxy, load balancer and HTTP cache software and founded Nginx, Inc. Sysoev was born in 1970 and grew up in Almaty, Kazak ...
and publicly released in 2004. Nginx is
free and open-source software Free and open-source software (FOSS) is software available under a license that grants users the right to use, modify, and distribute the software modified or not to everyone free of charge. FOSS is an inclusive umbrella term encompassing free ...
, released under the terms of the
2-clause BSD BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software. This is in contrast to copyleft licenses, which have share-alike requirements. The original BSD licens ...
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 for $670 million.


Popularity

, W3Tech's web server count of all web sites ranked Nginx first with 33.8%.
Apache The Apache ( ) are several Southern Athabaskan language-speaking peoples of the Southwestern United States, Southwest, the Southern Plains and Northern Mexico. They are linguistically related to the Navajo. They migrated from the Athabascan ho ...
was second at 26.4% and Cloudflare Server third at 23.4%. ,
Netcraft Netcraft is an Internet services company based in London, England. The company provides cybercrime disruption services across a range of industries. History Netcraft was founded by Mike Prettejohn in Bath, Somerset. The company provides web s ...
estimated that Nginx served 20.11% of the million busiest websites with Cloudflare a little ahead at 22.99%. Apache at 17.83% and Microsoft
Internet Information Services Microsoft IIS (Internet Information Services, IIS, 2S) is an extensible web server created by Microsoft for use with the Windows NT family. IIS supports HTTP, HTTP/2, HTTP/3, HTTPS, FTP, FTPS, SMTP and NNTP. It has been an integral part o ...
at 4.16% rounded out the top four servers for the busiest websites. Some of Netcraft's other statistics show Nginx ahead of Apache. A 2018 survey of Docker usage found that Nginx was the most commonly deployed technology in Docker containers. In
OpenBSD OpenBSD is a security-focused operating system, security-focused, free software, Unix-like operating system based on the Berkeley Software Distribution (BSD). Theo de Raadt created OpenBSD in 1995 by fork (software development), forking NetBSD ...
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, but later in version 5.7 (November 2014) it was removed in favor of OpenBSD's own httpd(8).


Features

Nginx may be configured to serve static
web content Web content is the text, visual or audio content that is made available online and user encountered as part of the online usage and experience on websites. It may include text, images, sounds and audio, online videos, among other items place ...
or to act as a proxy server. Nginx can be deployed to also serve
dynamic content A dynamic web page is a web page constructed at runtime (during software execution), as opposed to a ''static web page'', delivered as it is stored. A server-side dynamic web page is a web page whose construction is controlled by an application ...
on the network using
FastCGI FastCGI is a binary protocol for interfacing interactive programs with a web server. It is a variation on the earlier Common Gateway Interface (CGI). FastCGI's main aim is to reduce the overhead related to interfacing between web server and CGI pr ...
,
SCGI The Simple Common Gateway Interface (SCGI) is a protocol for applications to interface with HTTP servers, as an alternative to the CGI protocol. It is similar to FastCGI but is designed to be easier to parse. Unlike CGI, it permits a long-runnin ...
handlers for scripts,
WSGI The Web Server Gateway Interface (WSGI, pronounced ''whiskey'' or ) is a simple calling convention for web servers to forward requests to web applications or frameworks written in the Python programming language. The current version of WSGI, ve ...
application servers or
Phusion Passenger Phusion Passenger (informally also known as mod_rails and mod_rack among the Ruby community) is a free web server and application server with support for Ruby, Python and Node.js. It is designed to integrate into the Apache HTTP Server or the ng ...
modules, and can serve as a software
load balancer In computing, load balancing is the process of distributing a set of tasks over a set of resources ''Resource'' refers to all the materials available in our environment which are Technology, technologically accessible, Economics, economically ...
. Nginx uses an
asynchronous Asynchrony is any dynamic far from synchronization. If and as parts of an asynchronous system become more synchronized, those parts or even the whole system can be said to be in sync. Asynchrony or asynchronous may refer to: Electronics and com ...
event-driven approach, rather than threads, to handle requests. Nginx's modular
event-driven architecture Event-driven architecture (EDA) is a software architecture paradigm concerning the production and detection of Event (computing), events. Event-driven architectures are Continuous design, evolutionary in nature and provide a high degree of fault to ...
can provide predictable performance under high loads.


HTTP proxy and Web server features

* Ability to handle more than 10,000 simultaneous connections with a low
memory footprint Memory footprint refers to the amount of main memory that a program uses or references while running. The word footprint generally refers to the extent of physical dimensions that an object occupies, giving a sense of its size. In computing, t ...
(~2.5 MB per 10k inactive HTTP keep-alive connections) * Handling of static files, index files and auto-indexing *
Reverse proxy In computer networks, a reverse proxy or surrogate server is a proxy server that appears to any client to be an ordinary web server, but in reality merely acts as an intermediary that forwards the client's requests to one or more ordinary web s ...
with caching * Load balancing with in-band health checks *
TLS/SSL Transport Layer Security (TLS) is a cryptographic protocol designed to provide communications security over a computer network, such as the Internet. The protocol is widely used in applications such as email, instant messaging, and voice over IP, b ...
with
SNI In chemistry, Si (substitution nucleophilic internal) refers to a specific, regio-selective but not often encountered reaction mechanism for nucleophilic aliphatic substitution. The name was introduced by Cowdrey et al. in 1937 to label nucleo ...
and
OCSP stapling The Online Certificate Status Protocol (OCSP) stapling, formally known as the TLS Certificate Status Request extension, is a standard for checking the revocation status of X.509 digital certificates. It allows the presenter of a certificate to be ...
support, via
OpenSSL OpenSSL is a software library for applications that provide secure communications over computer networks against eavesdropping, and identify the party at the other end. It is widely used by Internet servers, including the majority of HTTPS web ...
*
FastCGI FastCGI is a binary protocol for interfacing interactive programs with a web server. It is a variation on the earlier Common Gateway Interface (CGI). FastCGI's main aim is to reduce the overhead related to interfacing between web server and CGI pr ...
,
SCGI The Simple Common Gateway Interface (SCGI) is a protocol for applications to interface with HTTP servers, as an alternative to the CGI protocol. It is similar to FastCGI but is designed to be easier to parse. Unlike CGI, it permits a long-runnin ...
,
uWSGI uWSGI is an open source software application that "aims at developing a full stack for building hosting services". It is named after the Web Server Gateway Interface (WSGI), which was the first plugin supported by the project. uWSGI is maintaine ...
support with caching *
gRPC gRPC (acronym for gRPC Remote Procedure Calls) is a cross-platform high-performance remote procedure call (RPC) framework. gRPC was initially created by Google, but is open source and is used in many organizations. Use cases range from microservi ...
support since March 2018, version 1.13.10. * Name- and IP address-based virtual servers *
IPv6 Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communication protocol, communications protocol that provides an identification and location system for computers on networks and routes traffic ...
-compatible *
WebSocket WebSocket is a computer communications protocol, providing a full-duplex, simultaneous two-way communication channel over a single Transmission Control Protocol (TCP) connection. The WebSocket protocol was standardized by the Internet Engineering ...
s since 1.3.13, including acting as a reverse proxy and do load balancing of WebSocket applications. * HTTP/1.1 Upgrade (101 Switching Protocols) *
HTTP/2 HTTP/2 (originally named HTTP/2.0) is a major revision of the HTTP network protocol used by the World Wide Web. It was derived from the earlier experimental SPDY protocol, originally developed by Google. HTTP/2 was developed by the HTTP Working ...
protocol support *
HTTP/3 HTTP/3 is the third major version of the Hypertext Transfer Protocol used to exchange information on the World Wide Web, complementing the widely deployed HTTP/1.1 and HTTP/2. Unlike previous versions which relied on the well-established TCP ...
protocol support (experimental since 1.25.0) *
URL rewriting In web applications, a rewrite engine is a software component that performs rewriting on URLs (Uniform Resource Locators), modifying their appearance. This modification is called URL rewriting. It is a way of implementing URL mapping or routin ...
and redirection


Mail proxy features

*
TLS/SSL Transport Layer Security (TLS) is a cryptographic protocol designed to provide communications security over a computer network, such as the Internet. The protocol is widely used in applications such as email, instant messaging, and voice over IP, b ...
support *
STARTTLS Opportunistic TLS (Transport Layer Security) refers to extensions in plain text communication protocols, which offer a way to upgrade a plain text connection to an encrypted ( TLS or SSL) connection instead of using a separate port for encrypted ...
support *
SMTP The Simple Mail Transfer Protocol (SMTP) is an Internet standard communication protocol for electronic mail transmission. Mail servers and other message transfer agents use SMTP to send and receive mail messages. User-level email clients typi ...
,
POP3 In computing, the Post Office Protocol (POP) is an application-layer Internet standard protocol used by e-mail clients to retrieve e-mail from a mail server. Today, POP version 3 (POP3) is the most commonly used version. Together with IMAP, i ...
, and
IMAP In computing, the Internet Message Access Protocol (IMAP) is an Internet standard protocol used by email clients to retrieve email messages from a mail server over a TCP/IP connection. IMAP is defined by . IMAP was designed with the goal of per ...
proxy * Requires authentication using an external HTTP server or by an authentication script Other features include upgrading executable and configuration without client connections loss, and a module-based architecture with both core and third-party module support. The paid Plus product includes additional features such as advanced load balancing and access to an expanded suite of metrics for performance monitoring.


Nginx in comparison to Apache

Nginx was written with an explicit goal of outperforming the
Apache The Apache ( ) are several Southern Athabaskan language-speaking peoples of the Southwestern United States, Southwest, the Southern Plains and Northern Mexico. They are linguistically related to the Navajo. They migrated from the Athabascan ho ...
web server. While in the past Nginx used to outperform Apache, since Apache 2.4 they offer similar performance. 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). 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 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 PHP is a general-purpose scripting language geared towards web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementation is now produced by the PHP Group. ...
, and
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (prog ...
. By version 1.11.0, the support was extended to
Java Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
, Node.js,
Perl Perl is a high-level, general-purpose, interpreted, dynamic programming language. Though Perl is not officially an acronym, there are various backronyms in use, including "Practical Extraction and Reporting Language". Perl was developed ...
, and
Ruby Ruby is a pinkish-red-to-blood-red-colored gemstone, a variety of the mineral corundum ( aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called sapph ...
applications; other features include dynamic configuration, request routing, and load balancing.


History


2000s

Igor Sysoev Igor Vladimirovich Sysoev () is a Russian software engineer. In October 2004, he released the Nginx Web server, reverse proxy, load balancer and HTTP cache software and founded Nginx, Inc. Sysoev was born in 1970 and grew up in Almaty, Kazak ...
began development of Nginx in 2002. Originally, Nginx was developed to solve the
C10k problem The C10k problem is the problem of optimizing network sockets to handle a large number of clients at the same time. The name C10k is a numeronym for concurrently handling ten thousand connections. Handling many concurrent connections is a differe ...
, and to fill the needs of multiple
website A website (also written as a web site) is any web page whose content is identified by a common domain name and is published on at least one web server. Websites are typically dedicated to a particular topic or purpose, such as news, educatio ...
s including the
Rambler Rambler or Ramble may refer to: Places * Rambler, Wyoming * Rambler Channel (藍巴勒海峽), separates Tsing Yi Island and the mainland New Territories in Hong Kong * The Ramble and Lake, Central Park, an area within New York City's Centra ...
search engine and portal, for which it was serving 500 million requests per day by September 2008.


2010s

Nginx Inc. was founded in July 2011 by Sysoev and Maxim Konovalov to provide commercial products and support for the software. In October 2011, Nginx, Inc. raised $3 million from
BV Capital Headline, formerly e.ventures and BV Capital, is a global and data-driven venture capital firm investing across stages and sectors, from direct-to-consumer to deep tech and software. It was founded in 1998 in Santa Barbara, California and ha ...
, Runa Capital, and
MSD Capital DFO Management, LLC (formerly MSD Capital) is an American family office that manages the capital of Michael Dell and his family. The firm, which is based in New York City and has offices in Santa Monica and West Palm Beach, was formed in 1998. ...
,
Michael Dell Michael Saul Dell (born February 23, 1965) is an American billionaire businessman and investor. He is the founder, chairman, and CEO of Dell Technologies, one of the world's largest technology infrastructure companies. As of May 2025, accordin ...
'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 New Enterprise Associates (NEA) is an American-based venture capital firm. NEA focuses investment stages ranging from seed stage through growth stage across an array of industry sectors. With over $25 billion in committed capital, NEA is one of t ...
. That round included previous investors, as well as
Aaron Levie Aaron Winsor Levie (born December 27, 1984) (pronounced ) is an American entrepreneur. He is the co-founder and CEO of the enterprise cloud company Box. Early life and education Aaron Levie was born on December 27, 1984, in Boulder, Colorado, th ...
, 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 (formerly ''BV Capital''), Runa Capital,
Index Ventures Index Ventures is a European venture capital firm with headquarters in both San Francisco and London. It invests primarily in tech companies. History Index Ventures has its origins in a Switzerland, Swiss bond (finance), bond-trading firm cal ...
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 The Goldman Sachs Group, Inc. ( ) is an American multinational investment bank and financial services company. Founded in 1869, Goldman Sachs is headquartered in Lower Manhattan in New York City, with regional headquarters in many internationa ...
"to Accelerate Application Modernization and Digital Transformation for Enterprises". On 11 March 2019, F5 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 A search warrant is a court order that a magistrate or judge issues to authorize Police, law enforcement officers to conduct a Search and seizure, search of a person, location, or vehicle for evidence of a crime and to Confiscation, confiscate an ...
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. 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.


2020s

On 18 January 2022, it was announced that Igor Sysoev was leaving Nginx and F5. In late 2022, Angie, an open source fork of Nginx, was released by some of the former Nginx developers. Igor Sysoev is not actively involved in this project. In February 2024, Maxim Dounin, one of Nginx's core developers, created a Nginx fork calle
freenginx
In the open letter announcing the creation, Maxim Dounin criticised F5's interference with Nginx's development.


See also

*
Comparison of web server software Web server software allows computers to act as web servers. The first web servers supported only static files, such as HTML (and images), but now they commonly allow embedding of server side applications. Some web application frameworks include s ...
*
List of Apache–MySQL–PHP packages A LAMP (Linux, Apache, MySQL, Perl/PHP/Python) is one of the most common software stacks for the web's most popular applications. Its generic software stack model has largely interchangeable components. Each letter in the acronym stands for one ...
*
Web accelerator A web accelerator is a proxy server that reduces website access time. They can be a self-contained hardware appliance or installable software. Web accelerators may be installed on the client computer or mobile device, on Internet service provider ...
*


References


External links

*
Angie

FreeNginx
{{Web server software 2002 software Software companies established in 2011 Cross-platform free software Free proxy servers Free software programmed in C Free web server software Proxy server software for Linux Reverse proxy Software companies of Russia Software using the BSD license Unix network-related software Web server software Web server software for Linux Russian inventions Russian companies established in 2011 2019 mergers and acquisitions