# nginx/nginx

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/nginx-nginx).**

29,463 stars · 7,759 forks · C · bsd-2-clause

## Links

- GitHub: https://github.com/nginx/nginx
- Homepage: https://nginx.org/
- awesome-repositories: https://awesome-repositories.com/repository/nginx-nginx.md

## Topics

`content-cache` `http` `http2` `http3` `https` `load-balancer` `mail-proxy-server` `nginx` `quic` `reverse-proxy` `security` `tcp-proxy-server` `tls` `udp-proxy-server` `web-server`

## Description

Nginx is a high-performance HTTP server and reverse proxy designed to handle high-concurrency traffic through an efficient, event-driven architecture. It functions as a versatile traffic management gateway and content delivery accelerator, providing the infrastructure necessary to route client requests, balance loads across backend servers, and serve static assets with minimal resource consumption.

The project distinguishes itself through a master-worker process model that separates configuration management from request processing, ensuring stable operations under heavy load. Its modular request pipeline and hierarchical configuration system allow for granular control over network behaviors, while shared memory zones enable efficient state synchronization across worker processes. These capabilities are complemented by advanced traffic shaping, including multi-stage rate limiting and burst request buffering, which protect backend services from traffic spikes.

Beyond its core routing and serving functions, the software includes comprehensive tools for content caching, TLS termination, and dynamic application integration. It supports complex page composition through subrequest fetching and maintains high availability via active health monitoring of backend nodes. The system is extensible through a modular framework that allows for custom logic integration at both build and runtime.

The software provides native support for Windows and Unix-like environments, offering command-line tools for operational management and diagnostic logging. Configuration is managed through a flexible, nested directive system that supports modular inheritance for complex application environments.

## Tags

### DevOps & Infrastructure

- [Load Balancers](https://awesome-repositories.com/f/devops-infrastructure/load-balancers.md) — Distributes incoming network traffic across multiple backend servers to improve application availability, scalability, and overall system reliability.
- [Load Balancing Algorithms](https://awesome-repositories.com/f/devops-infrastructure/load-balancing-algorithms.md) — Distributes incoming requests across backend server groups using traffic management algorithms to optimize performance and resource utilization. ([source](https://nginx.org/en/docs/http/load_balancing.html))
- [Rate Limiting](https://awesome-repositories.com/f/devops-infrastructure/rate-limiting.md) — Protects backend services from traffic spikes by enforcing shared memory zones and request processing delay policies. ([source](https://nginx.org/en/docs/http/ngx_http_limit_req_module.html))
- [Reverse Proxies](https://awesome-repositories.com/f/devops-infrastructure/reverse-proxies.md) — Routes client requests to backend servers through a flexible abstraction layer that manages load balancing, health monitoring, and response buffering.
- [Cache Management](https://awesome-repositories.com/f/devops-infrastructure/cache-management.md) — Provides mechanisms to manually invalidate and purge cached files to ensure immediate delivery of updated content. ([source](https://blog.nginx.org/blog/nginx-caching-guide))
- [Configuration Management](https://awesome-repositories.com/f/devops-infrastructure/configuration-management.md) — Organizes server behavior through hierarchical directives and modular configuration structures to simplify complex environment management. ([source](https://nginx.org/en/docs/beginners_guide.html))
- [Content Delivery Accelerators](https://awesome-repositories.com/f/devops-infrastructure/content-delivery-accelerators.md) — Implements a caching engine that stores and serves static assets to reduce origin server load and improve response times.
- [Edge Traffic Management](https://awesome-repositories.com/f/devops-infrastructure/edge-traffic-management.md) — Provides perimeter-level request control including rate limiting, filtering, and SSL termination for incoming traffic.
- [Rate Limiting Policies](https://awesome-repositories.com/f/devops-infrastructure/rate-limiting-policies.md) — Implements two-stage request throttling to manage traffic bursts while maintaining a steady processing rate for incoming requests. ([source](https://blog.nginx.org/blog/rate-limiting-nginx))

### Networking & Communication

- [Reverse Proxies](https://awesome-repositories.com/f/networking-communication/reverse-proxies.md) — Routes incoming client requests to backend application servers while providing load balancing and traffic management capabilities.
- [Traffic Management Gateways](https://awesome-repositories.com/f/networking-communication/traffic-management-gateways.md) — Enforces request rate limits, manages session persistence, and provides granular control over incoming connection flows at the network layer.
- [Load Balancing Strategies](https://awesome-repositories.com/f/networking-communication/load-balancing-strategies.md) — Routes requests from the same client to the same backend server consistently using hashing to preserve session state. ([source](https://nginx.org/en/docs/http/load_balancing.html))
- [Traffic Shaping](https://awesome-repositories.com/f/networking-communication/traffic-shaping.md) — Queues excess incoming requests during traffic spikes to prevent connection rejection and maintain service availability. ([source](https://blog.nginx.org/blog/rate-limiting-nginx))

### Operating Systems & Systems Programming

- [Event Loop Managers](https://awesome-repositories.com/f/operating-systems-systems-programming/event-loop-managers.md) — Manages network I/O and system events through a continuous loop to maintain high-concurrency responsiveness. ([source](https://nginx.org/en/docs/dev/development_guide.html))
- [Windows Support Utilities](https://awesome-repositories.com/f/operating-systems-systems-programming/windows-support-utilities.md) — Provides native execution of web server operations and system-level integration within the Windows environment. ([source](https://nginx.org/en/docs/windows.html))

### Programming Languages & Runtimes

- [Event-Driven Runtimes](https://awesome-repositories.com/f/programming-languages-runtimes/event-driven-runtimes.md) — Implements a high-performance event loop for handling thousands of concurrent connections using non-blocking I/O.

### Web Development

- [HTTP Servers](https://awesome-repositories.com/f/web-development/http-servers.md) — Provides a high-concurrency web server architecture optimized for efficient traffic handling and low memory usage.
- [Web Servers](https://awesome-repositories.com/f/web-development/web-servers.md) — Delivers static and dynamic web content with high performance and optimized resource usage.
- [Server Runtimes](https://awesome-repositories.com/f/web-development/server-runtimes.md) — Provides a modular server environment for customizing request processing, logging, and security features.
- [Content Caching Accelerators](https://awesome-repositories.com/f/web-development/content-caching-accelerators.md) — Implements local data storage strategies to minimize origin server requests and accelerate content delivery for end users.
- [Dynamic Content Gateways](https://awesome-repositories.com/f/web-development/dynamic-content-gateways.md) — Connects web servers to external application frameworks to process complex logic before returning responses to clients.
- [FastCGI Gateways](https://awesome-repositories.com/f/web-development/fastcgi-gateways.md) — Enables seamless integration with external application servers by passing request parameters and script information through the FastCGI protocol. ([source](https://nginx.org/en/docs/beginners_guide.html))
- [Request Composition Tools](https://awesome-repositories.com/f/web-development/request-composition-tools.md) — Enables complex page assembly by fetching and merging content from multiple internal locations within a single request lifecycle. ([source](https://nginx.org/en/docs/dev/development_guide.html))
- [Static Site Servers](https://awesome-repositories.com/f/web-development/static-site-servers.md) — Maps request URI prefixes to local file system paths to deliver static assets directly from server storage with high efficiency. ([source](https://nginx.org/en/docs/beginners_guide.html))

### Security & Cryptography

- [Certificate Management](https://awesome-repositories.com/f/security-cryptography/certificate-management.md) — Automates the concatenation and verification of certificate chains to ensure secure and trusted TLS handshakes. ([source](https://nginx.org/en/docs/http/configuring_https_servers.html))
- [HTTPS Performance Optimizations](https://awesome-repositories.com/f/security-cryptography/https-performance-optimizations.md) — Improves secure communication speed by enabling connection keepalives and shared session caches to minimize CPU-intensive handshake overhead. ([source](https://nginx.org/en/docs/http/configuring_https_servers.html))
- [Server Name Indication](https://awesome-repositories.com/f/security-cryptography/server-name-indication.md) — Enables hosting multiple HTTPS websites on a single IP address by identifying the requested hostname during the TLS handshake. ([source](https://nginx.org/en/docs/http/configuring_https_servers.html))

### Software Engineering & Architecture

- [Process Models](https://awesome-repositories.com/f/software-engineering-architecture/process-models.md) — Implements a master-worker process architecture to isolate privileged management tasks from unprivileged request handling.
- [Request Pipelines](https://awesome-repositories.com/f/software-engineering-architecture/request-pipelines.md) — Provides a modular architecture for processing requests through configurable handlers and filters.
- [Shared Memory Management](https://awesome-repositories.com/f/software-engineering-architecture/shared-memory-management.md) — Synchronizes state and session data across multiple worker processes using atomic operations within pre-allocated memory segments for high-performance coordination.

### System Administration & Monitoring

- [Health Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/health-monitoring.md) — Automatically tracks backend server status and manages traffic flow by routing around unresponsive nodes. ([source](https://nginx.org/en/docs/http/load_balancing.html))
- [Log Management Utilities](https://awesome-repositories.com/f/system-administration-monitoring/log-management-utilities.md) — Provides granular control over diagnostic output by filtering logs based on client IP addresses or network ranges. ([source](https://nginx.org/en/docs/debugging_log.html))
