Nginx · The edge of your stack

What is Nginx and what problems does it solve?

Easynginxreverse proxyweb serverUpdated Oct 2026
Quiz this track

Short answer

Nginx is an event-driven web server and reverse proxy. It serves static files, terminates TLS, proxies requests to application servers, load balances, caches responses and enforces rate limits.

Nginx started as a high-concurrency web server and is now usually the edge layer in front of an application. It handles slow clients, TLS, compression, caching and routing so application processes can focus on business logic.

nginx
server {
    listen 80;
    server_name example.com;

    root /var/www/site;

    location / {
        try_files $uri $uri/ /index.html;
    }

    location /api/ {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
    }
}
A single server block serves static assets and proxies the API to a local Node process.

Where Nginx fits

  • TLS termination and HTTP/2 or HTTP/3 front door
  • Static file serving with sendfile and open file caching
  • Reverse proxy and upstream connection pooling
  • Load balancing across several application instances
  • Response caching, compression and request limiting
Nginx is not an application server. It does not run your Python, Node or Java code; it forwards requests to a process that does, usually over HTTP or a Unix socket.

Follow-ups you should expect

Interviewers use these to check whether the first answer was understanding or memorisation.

  1. 1Why is Nginx often placed in front of Node or Python instead of exposing the app directly?
  2. 2How does an event-driven server handle more concurrent connections than a thread-per-request server?
  3. 3When would you choose Envoy or a cloud load balancer over Nginx?
  4. 4Which responsibilities should stay in Nginx and which belong in the application?

Say it in the interview

Nginx is an event-driven web server and reverse proxy. I use it at the edge to terminate TLS, serve static assets, route requests to application servers and apply caching, compression and rate limits. It is not an application server, so it forwards dynamic work to Node, Python or Java processes. Its event loop lets one worker handle many idle or slow connections without a thread per connection.

Use this as a model, not a script. Saying it in your own words is what makes it survive follow-up pressure.

Related questions

Reading is step one

Now say it out loud.

Understanding an answer and delivering it under pressure are different skills. Rehearse this topic in a live Nginx mock interview and get scored feedback on depth, clarity and confidence.