/ˈɛn.dʒɪn.ɛks/
noun — “the lean, high-performance web server that quietly runs the web.”
Nginx is an open-source web server, reverse proxy, load balancer, and HTTP cache designed for speed, efficiency, and scalability. Pronounced “engine-ex,” it is widely used to serve static content, manage large numbers of simultaneous connections, and route requests to application servers. Unlike some older web servers that create a separate process for each connection, Nginx uses an event-driven architecture that allows it to handle thousands of concurrent connections with minimal memory footprint.
Originally developed by Igor Sysoev in 2004 to address performance limitations of Apache HTTP Server, Nginx quickly gained popularity in high-traffic environments. It excels at serving static files, reverse proxying to backend applications, handling SSL/TLS termination, and caching content. Its modular configuration system allows administrators to define server blocks, routing rules, and custom behaviors for specific URLs or hostnames.
Nginx is often paired with dynamic application frameworks, such as PHP through PHP-FPM, Python via WSGI, or Node.js backends. It can serve as the front-line gateway that accepts requests from clients, performs SSL encryption, load-balances traffic, and forwards the request to the appropriate application server. This separation of responsibilities improves performance and simplifies scaling web applications.
In practice, Nginx might include:
// Example 1: simple static website server block
server {
listen 80;
server_name example.com;
root /var/www/html;
index index.html index.htm;
}
// Example 2: reverse proxy for PHP application
server {
listen 80;
server_name app.example.com;
location / {
proxy_pass http://127.0.0.1:9000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
// Example 3: enabling gzip compression
http {
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
}Think of Nginx as a disciplined traffic controller for the web. It quietly accepts thousands of incoming requests, directs them efficiently, handles caching and security, and ensures every request reaches its destination without creating unnecessary overhead. It is fast, lean, and remarkably reliable—exactly why it powers a significant portion of modern websites.
See Web Server, Server Environment, Apache, PHP-FPM, Reverse Proxy