A web server and reverse proxy that provides load balancing, content caching, and API gateway capabilities.

NGINX screenshot 1

NGINX is an open-source web server and reverse proxy that provides load balancing, content caching, and API gateway capabilities. It is installed as software with binary packages available for all major operating systems and Linux distributions, though it can also be built from source code for specific environment needs.

The software operates as a collection of processes to scale beyond operating system process limitations. A master process manages the configuration and worker processes, while one or more worker processes handle the actual data processing and HTTP requests. These processes synchronize data through shared memory zones, which allows the system to track client data and manage tasks such as rate limiting across multiple CPU cores efficiently.

Key features

  • HTTP, HTTP/2, and HTTP/3 support
  • Reverse proxy and load balancing
  • Content caching for edge server deployments
  • API gateway capabilities including rate limiting
  • Support for TLS encryption and SSL certificates
  • TCP and UDP proxying
  • Mail proxy server functionality
  • Modular architecture with static and dynamic modules
  • JavaScript extensibility via the njs module

Configuration is handled through text-based files using parameters called directives. The available functionality depends on the installed modules, which can be compiled statically at build time or added as dynamic modules after the core binaries are installed. This modular approach allows users to extend core functionality without modifying the base binary. The software is distributed in two versions: a stable branch containing critical fixes backported from the master branch, and a mainline branch containing the latest features and bugfixes.

For those building from source, the software requires dependencies such as the GNU C compiler, Make utility, and libraries like PCRE and zlib. Additional libraries, such as OpenSSL, are required to enable specific features like TLS encryption. This flexibility makes it suitable for a wide range of deployment environments, from simple web hosting to complex API infrastructures.

NGINX is designed for system administrators and developers who require a flexible infrastructure tool for managing web traffic and network security.

Last Modified
Software TypeWeb App / Server
Platform
Last Activity16 days ago
Repository Age11 years
LicenseBSD-2-Clause
Open Source Software.io

Join our newsletter to get shiny new open source software delivered to your inbox. Unsubscribe anytime.