Other meanings of Nginx
WEB INFRASTRUCTURE
Nginx is open-source web server and reverse proxy software designed for efficient handling of concurrent network connections. It can serve static files, terminate TLS, distribute requests across application servers, cache responses, and expose HTTP, TCP, and UDP services through a single event-driven system.1
Nginx is a high-performance server for delivering web content and mediating traffic between clients and backend services. Its original role was HTTP serving, but the software also functions as a reverse proxy, load balancer, HTTP cache, and gateway for application servers.1
In a typical deployment, a browser connects to Nginx rather than directly to an application such as a Python, Ruby, Java, or Node.js service. Nginx accepts the connection, applies routing and security rules, and forwards the request when dynamic processing is required. It can instead return a local file immediately, which keeps application workers available for tasks that require computation or database access.
The name is commonly pronounced “engine-ex.” The project is distributed in open-source and commercial forms; the open-source edition is published under the 2-clause BSD license.2
Nginx handles many simultaneous connections with an event-driven, asynchronous architecture rather than assigning a dedicated operating-system process or thread to every connection.3
Its master process commonly manages configuration and worker processes, while workers use operating-system event mechanisms to monitor sockets and perform network operations. This design is particularly effective when connections spend time waiting on clients, upstream services, or slow networks. It also makes Nginx comparatively economical for static delivery and connection-heavy workloads.
Performance is not automatic: results depend on hardware, protocol versions, request patterns, buffering, compression, TLS settings, upstream behavior, and configuration quality. A small number of worker processes does not eliminate bottlenecks in disks, databases, application code, or network links. Operational testing therefore matters more than relying on a generic benchmark.
Nginx separates public-facing connection handling from backend application delivery through reverse proxying and upstream groups. The proxy_pass directive forwards HTTP requests, while upstream definitions describe backend servers and balancing behavior.4
Common uses include routing different URL paths to different services, balancing traffic among several application instances, preserving or rewriting request headers, buffering responses, and enforcing connection and request timeouts. Nginx supports several built-in balancing approaches, including weighted round robin, least connections, and IP-hash-based selection; some advanced capabilities depend on the edition or surrounding modules.
It can also proxy TCP and UDP traffic through the stream subsystem, allowing the same general edge layer to handle services beyond HTTP.5 Health checking, session persistence, retry behavior, and failure handling should be designed with the application’s consistency requirements in mind rather than enabled indiscriminately.
Nginx is configured with a declarative text syntax organized around contexts such as http, server, and location. A configuration can define virtual hosts, TLS certificates, access controls, content roots, caching, compression, logging, and proxy behavior.6
At the network edge, Nginx commonly terminates TLS, redirects HTTP to HTTPS, limits request rates, restricts methods or paths, and applies size and timeout boundaries. These controls reduce exposure to malformed requests and resource-exhaustion attacks, but they are not a substitute for application authentication, authorization, patching, or secure coding.
Deployments range from a single server serving static assets to fleets of instances behind cloud load balancers or content-delivery networks. Configuration validation with nginx -t, controlled reloads, centralized logs, certificate renewal, and monitoring of upstream error rates are routine operational practices.
Nginx is also a modular platform whose less visible features often determine how it is used in production. Modules provide support for functions such as FastCGI and uwsgi application gateways, WebSocket-compatible proxying, caching, authentication-related controls, mail proxying, and stream-level TCP or UDP forwarding.1
Its caching system can serve stale or previously stored responses under selected failure conditions, which may improve resilience but can also expose outdated content if cache keys and invalidation rules are poorly designed. Location matching is another frequent edge case: exact, prefix, and regular-expression locations are evaluated according to specific rules, so apparently similar blocks may route requests differently.
Nginx can serve as an ingress layer for containerized and service-oriented systems, but the core server and third-party controllers are not identical products. Features such as dynamic service discovery, automatic certificate management, or rich policy APIs may come from an orchestration platform, commercial edition, or separate controller rather than from the open-source core itself.
Nginx may refer to the open-source web server project or to commercial products and controllers in the broader NGINX product family; this entry concerns the web server and reverse proxy software itself.
Help improve the encyclopedia. Reports go straight to the site manager.