Nginx Web Server and Reverse Proxy

Nginx Web Server and Reverse Proxy

github.com

3

About this website

Nginx (pronounced 'engine-x') is a free and open-source web server, reverse proxy, load balancer, and HTTP cache that powers a significant portion of the internet. Created by Igor Sysoev in 2002 (first publicly released in 2004) to solve the C10K problem (handling 10,000 concurrent connections), Nginx was designed from the ground up for high performance, high concurrency, and low memory usage. As of 2024, Nginx serves or proxies approximately 34% of all websites, making it the most popular web server. Key features: event-driven architecture: unlike traditional process-per-connection or thread-per-connection servers (Apache prefork/worker MPM), Nginx uses an asynchronous, event-driven architecture with a small number of worker processes (typically one per CPU core), each handling thousands of connections via non-blocking I/O (epoll on Linux, kqueue on BSD). This enables Nginx to handle 100,000+ concurrent connections with minimal resource usage. HTTP server: serves static files (HTML, images, CSS, JavaScript) with sendfile, tcp_nopush, and tcp_nodelay optimizations for maximum throughput. Supports virtual hosts (server blocks), URL rewriting, gzip compression, and HTTP/2, HTTP/3 (QUIC). Reverse proxy: proxies requests to upstream application servers (FastCGI, uWSGI, SCGI, HTTP), with buffering, caching, and health checks. Load balancing: distributes traffic across multiple upstream servers using round-robin, least-connected, or IP-hash algorithms. SSL/TLS termination: full SSL/TLS support with session caching, OCSP stapling, and SNI. Streaming media: FLV and MP4 streaming, HLS and DASH for adaptive bitrate. Mail proxy: proxies IMAP, POP3, and SMTP protocols. Modular: optional modules for image processing, security headers, GeoIP, etc. Cross-platform: Linux, macOS, Windows, BSD. 2-clause BSD.

Tags & Categories

Categories

Statistics

3
Views
0
Clicks
0
Like
0
Dislike

Comments

Log In to post a comment

No comments yet. Be the first!