LLMpediaThe first transparent, open encyclopedia generated by LLMs

nginx

Generated by DeepSeek V3.2
Note: This article was automatically generated by a large language model (LLM) from purely parametric knowledge (no retrieval). It may contain inaccuracies or hallucinations. This encyclopedia is part of a research project currently under review.
Article Genealogy
Expansion Funnel Raw 72 → Dedup 0 → NER 0 → Enqueued 0
1. Extracted72
2. After dedup0 (None)
3. After NER0 ()
4. Enqueued0 ()
nginx
Namenginx
DeveloperIgor Sysoev
Released04 October 2004
Latest release version1.25.4
Latest release date21 May 2024
Operating systemCross-platform
GenreWeb server, Reverse proxy, Load balancing (computing)
License2-clause BSD
Websitehttps://nginx.org/

nginx. nginx is a high-performance web server and reverse proxy server software, renowned for its stability, rich feature set, and low resource consumption. Initially created to solve the C10k problem of handling many concurrent connections, it has become a cornerstone of the modern Internet infrastructure. It is widely used by many high-traffic websites, including Netflix, Dropbox, and WordPress.com, and is a critical component in microservices architectures.

Overview

nginx functions primarily as an HTTP server but has evolved into a versatile tool for load balancing (computing), HTTP caching, and as a mail proxy server. Its event-driven, asynchronous I/O architecture allows it to serve a massive number of simultaneous connections with minimal memory footprint, distinguishing it from traditional thread-based servers like Apache HTTP Server. The software is developed and maintained by Nginx, Inc., a company founded by its original author and later acquired by F5 Networks. nginx is available in two main versions: the open-source nginx OSS and the commercial NGINX Plus, which offers additional features and support.

History

The project was conceived and developed by Russian software engineer Igor Sysoev to address performance limitations he observed in existing servers while working at Rambler. The first public version was released in October 2004. Gaining rapid adoption for its efficiency, the project led to the founding of Nginx, Inc. in 2011 to provide commercial support and develop NGINX Plus. A significant milestone in its history was the acquisition of Nginx, Inc. by the application delivery controller giant F5 Networks in 2019. Throughout its development, nginx has been influenced by other high-performance software like Lighttpd and concepts from operating systems such as FreeBSD and Linux.

Features

Key features include advanced load balancing (computing) with methods like round-robin, least connections, and IP hash, alongside robust TLS/SSL termination support. It provides sophisticated HTTP caching capabilities, gzip compression, and seamless handling of static content. The server supports HTTP/2, WebSocket proxying, and Server Name Indication for secure connections. Furthermore, nginx can act as a mail proxy server for IMAP, POP3, and SMTP protocols. Its modular architecture allows for extensive functionality through third-party modules, some of which are developed by organizations like Cloudflare and Google.

Architecture

At its core, nginx employs a master-slave, event-driven architecture. A single master process manages configuration and several worker processes that handle the actual network connections and content delivery. This design, avoiding a thread-based model, eliminates the overhead of context switching and allows efficient management of thousands of concurrent connections within one worker process. The architecture is highly influenced by the kqueue and epoll event notification mechanisms found in FreeBSD and Linux kernels, respectively. This makes it exceptionally well-suited for modern hardware and operating systems.

Configuration

Configuration is managed through a human-readable, directive-based text file, typically named `nginx.conf`. The syntax is organized into contextual blocks like `events`, `http`, `server`, and `location`, allowing granular control over behavior. Directives control everything from access log formatting and error page handling to complex rewrite rules using a regular expression engine. The configuration can be tested for syntax errors without stopping the server, and changes can be applied dynamically using signals like SIGHUP. This flexibility is central to its use in complex deployments by companies like Microsoft and IBM.

Use cases

nginx is ubiquitously deployed as a reverse proxy in front of application servers like Node.js, Django, or Ruby on Rails, offloading tasks like SSL termination and serving static content. It is a fundamental load balancer in front of server clusters for websites like Wikipedia and Pinterest. Within cloud computing platforms such as Amazon Web Services and Microsoft Azure, it is often used in auto-scaling groups. It also serves as an API gateway in microservices environments and as a critical component in content delivery network infrastructures.

Category:Free web server software Category:Reverse proxy Category:Software using the BSD license