Software and platforms

Nginx

Summary

Nginx (pronounced "engine x") is free, open-source software that works as a web server, reverse proxy, content cache and load balancer. Igor Sysoev began writing it in 2002 to handle many thousands of connections at once and released it on October 4, 2004. F5 bought NGINX, Inc., the company behind it, in 2019. As of October 21, 2026, W3Techs finds Nginx on 30.3% of websites whose web server is known.

What Nginx is

Nginx, pronounced “engine x,” is free, open-source server software. Its project site describes it as an HTTP web server, reverse proxy, content cache, load balancer, TCP/UDP proxy server and mail proxy server.1 The name is usually written in lowercase, nginx, by the project itself.1

Each of those roles is a different job:

  • Web server. It answers HTTP requests from browsers and sends back files such as pages, images and style sheets. This is the same basic job as any web server.
  • Reverse proxy. It sits in front of one or more other servers, receives the visitor’s request, passes it on to the server that does the real work and returns the answer. The visitor only ever talks to Nginx.
  • Content cache. It keeps copies of answers it has already fetched, so it can send them again without asking the server behind it.
  • Load balancer. It spreads incoming requests across several application servers to improve performance and reliability. Its documentation lists round-robin, least-connected and IP-hash as the built-in ways of choosing a server.2

As of October 21, 2026, W3Techs finds Nginx on 30.3% of websites whose web server it can identify. That is second only to Cloudflare Server at 32.5%, and ahead of the Apache HTTP Server at 21.4%.3 W3Techs notes that one website may use more than one web server.3 Its list of popular sites using Nginx includes WordPress.org, Tiktok.com and Archive.org, and it counts version 1 on 100.0% of Nginx sites.4

Origins: Igor Sysoev and the C10k problem

Nginx was written by Igor Sysoev, who was born in 1970 in Alma-Ata in the Soviet Union, now Almaty in Kazakhstan. He worked as a system administrator at the Russian company Rambler from 2000 to 2011.5 He began developing Nginx in the spring of 2002.6

His goal was to solve what engineers called the C10k problem: handling 10,000 connections at the same time on a single server.6 The name comes from a web page by Dan Kegel, with a copyright notice dating from 1999, that opens: “It’s time for web servers to handle ten thousand clients simultaneously, don’t you think?”7 The NGINX team later explained the difficulty: in servers that dedicate a process or thread to each connection, every visitor ties up a heavyweight operating system resource, even while doing little.8

Sysoev released Nginx as open source, under a permissive license, on October 4, 2004.6 A permissive license lets others use and change the code with few conditions. Nginx uses the two-clause BSD license, and its copyright notice credits Sysoev from 2002 and Nginx, Inc. from 2011.9

The project spent more than six years in 0.x versions. Nginx 1.0.0 was released on April 12, 2011.10

How Nginx works

Nginx runs one master process and several worker processes. The master process reads the configuration and manages the workers, and the workers handle the requests.11 Its guide says Nginx uses an event-based model, together with features of the operating system, to spread requests among the workers.11

Event-driven means a worker never sits idle waiting for one visitor. It keeps a list of open connections and deals with whichever one has something ready, such as a new request or more room to send data. Each worker handles many connections in this nonblocking way, which cuts the number of times the computer has to switch between tasks.8

The NGINX team’s 2015 description of the design says Nginx scales to “hundreds of thousands of connections per worker process,” and recommends one worker process per CPU core in most cases.8 The same article contrasts this with servers in which every active connection needs its own process or thread.8

Settings are written as directives, each a name and its values ending in a semicolon. Directives can be grouped inside braces into blocks called contexts: the http context holds server blocks, and each server block holds location blocks that decide what happens to different addresses.11

After an edit, the command nginx -s reload loads the new settings without dropping visitors. Old worker processes stop taking new connections, finish the requests they are serving and then exit.11

All configuration lives in files controlled by the server’s administrator. The main file is named nginx.conf and usually sits in /usr/local/nginx/conf, /etc/nginx or /usr/local/etc/nginx.11 Unlike Apache, Nginx has no per-folder configuration file such as .htaccess, so a website’s software cannot change server rules on its own.12

Because Nginx is also a reverse proxy, it can answer requests for images and style sheets itself and hand the rest to an application running behind it.1 The WordPress handbook’s sample Nginx configuration, for example, sends any request that does not match a real file or folder to WordPress’s index.php, the PHP file that builds each page.12 Nginx passes such requests to a separate program using FastCGI, a protocol for handing work to an application server. The beginner’s guide shows this with a PHP server listening on port 9000 of the same machine, while Nginx serves images straight from disk.11

Nginx and Apache compared

Nginx is most often compared with the Apache HTTP Server. The two have grown more alike over the years, but several differences remain.

  • Handling connections. Nginx was designed around events from the start.68 Apache added a similar approach later: its event MPM, which hands idle connections to a listener thread so that worker threads stay free, became fully supported in version 2.4 in 2012.1314 When it announced 2.4, the Apache Software Foundation claimed performance “on par, or better, than pure event-driven Web servers.”15
  • Per-folder settings. Apache can read .htaccess files in each folder, which lets site owners and their software change settings without access to the main configuration, at some cost in speed.16 Nginx has no equivalent, so every change goes through the server’s own configuration files.12
  • Building in features. Apache can load modules at run time, including its choice of MPM.13 Some Nginx modules, such as HTTP/3, are not built by default and have to be switched on when Nginx is compiled.17
  • License. Apache software is released under the Apache License, and Nginx under the two-clause BSD license.189

NGINX, Inc., F5 and the open-source project

In 2011 Sysoev founded a company, NGINX, Inc., with Maxim Konovalov and Andrew Alexeev.65 The company launched NGINX Plus, a paid edition, in 2013.6

On March 11, 2019, F5 Networks announced it would buy NGINX, Inc. for a total enterprise value of about $670 million. F5 said Nginx was trusted by more than 375 million sites.19 F5 completed the purchase on May 9, 2019.20

Sysoev stepped back from NGINX and F5 in January 2022 to spend more time with friends and family and on personal projects, F5 announced on January 18, 2022.6

The project has since gone through two other changes. On February 14, 2024, Maxim Dounin, an Nginx developer, announced a fork called freenginx. He said F5 had interfered with the security policy Nginx had used for years and that he would no longer take part in Nginx development as run by F5.21 A fork is a separate copy of a project’s code that develops on its own.

On September 6, 2024, F5 made GitHub the official home of Nginx’s source code, moving development away from the Mercurial repositories it had used. F5 said it would keep the Mercurial repositories available for the foreseeable future.22

Some projects that carry the name are separate from the Nginx server itself. Ingress NGINX is a controller for the Kubernetes container platform. In November 2025, Kubernetes announced that its best-effort maintenance would end in March 2026, with no further releases, bug fixes or security updates after that, though existing installations would keep working.23

Versions and protocols

Nginx publishes two lines of releases at once, called mainline and stable, and keeps older stable lines on its download page as legacy versions. As of October 22, 2026, the newest mainline version is 1.31.8 and the newest stable version is 1.30.6.24 Version 1.31.8 is dated October 21, 2026, and the 1.30 stable branch began with 1.30.0 on April 14, 2026.2526

Nginx has followed each new version of HTTP:

  • HTTP/2. Nginx 1.9.5, released on September 22, 2015, added the ngx_http_v2_module, replacing an earlier module for Google’s SPDY protocol. The changelog thanks Dropbox and Automattic for sponsoring the work.27
  • HTTP/3. Nginx 1.25.0, released on May 23, 2023, added experimental support for HTTP/3.25 HTTP/3 runs over QUIC instead of TCP.28 As of October 22, 2026, the documentation still calls the module experimental and says it is not built by default.17
  • Prioritization. In 1.31.7, dated October 14, 2026, the HTTP/2 module switched to the RFC 9218 prioritization scheme and began ignoring the older RFC 7540 priority signals.25

The project publishes its security fixes on a single advisories page. On October 14, 2026, Nginx 1.30.6 and 1.31.7 fixed five vulnerabilities, each rated medium, including two buffer overflows and a flaw in HTTP/3 handling.2629 One of them, CVE-2026-15176, affected every version from 0.1.29 to 1.31.6.29

Timeline

  1. Nginx 1.31.8 is the newest mainline release25
  2. Nginx 1.30.6 and 1.31.7 fix five medium-severity vulnerabilities26
  3. Nginx 1.30.0 opens the 1.30 stable branch26
  4. GitHub becomes the official home of Nginx source code22
  5. Maxim Dounin announces the freenginx fork21
  6. Nginx 1.25.0 adds experimental HTTP/3 support25
  7. F5 announces that Igor Sysoev has stepped back from NGINX6
  8. F5 completes its purchase of NGINX, Inc.20
  9. F5 announces a deal to buy NGINX, Inc. for about $670 million19
  10. Nginx 1.9.5 adds HTTP/2 support27
  11. NGINX, Inc. launches NGINX Plus6
  12. Nginx 1.0.0 is released10
  13. Igor Sysoev, Maxim Konovalov and Andrew Alexeev found NGINX, Inc.6
  14. Nginx is released as open source6
  15. Igor Sysoev begins developing Nginx in the spring6

What it means for your website

On a hosted builder such as Squarespace, Wix or Shopify, the platform chooses its own servers and you never touch Nginx. It matters most if you run self-hosted WordPress, where your host decides which web server sits in front of your site.

  • Ask your host whether it uses Nginx. If it does, .htaccess files do nothing. WordPress cannot change Nginx’s settings the way it can on Apache, so any rules that would go into .htaccess on Apache, including ones added by plugins, will not apply.12
  • Get redirects set up at the server. During a website migration, ask your host or developer to add 301 redirects to the Nginx configuration, or use a redirect plugin that works inside WordPress itself.
  • Check your permalinks. Without the right configuration, Nginx sites show index.php inside page addresses. The WordPress handbook gives the try_files rule that fixes this.12
  • Ask about server-level caching. Nginx can work as a content cache.1 A page served from that cache does not have to be rebuilt by PHP and the database for each visitor.
  • Keep it patched. On a virtual private server you update Nginx yourself. As of October 22, 2026, the fixed versions for the latest advisories are 1.30.6 and 1.31.7 or newer.29

The web server is one of the details we look at in our WordPress review, and our guide to domains and hosting covers what else to ask a host before you sign up.

See also

References

  1. nginx. nginx.org. accessed October 22, 2026.
  2. Using nginx as HTTP load balancer. nginx documentation, nginx.org. accessed October 22, 2026.
  3. Usage statistics of web servers. W3Techs. 2026-10-21. accessed October 22, 2026.
  4. Usage statistics and market share of Nginx. W3Techs. 2026-10-21. accessed October 22, 2026.
  5. Igor Sysoev. Igor Sysoev, sysoev.ru. accessed October 22, 2026.
  6. Do Svidaniya, Igor, and Thank You for NGINX. Rob Whiteley, NGINX Community Blog, F5. 2022-01-18. accessed October 22, 2026.
  7. The C10K problem. Dan Kegel, kegel.com. accessed October 22, 2026.
  8. Inside NGINX: How We Designed for Performance and Scale. Owen Garrett, NGINX Community Blog, F5. 2015-06-10. accessed October 22, 2026.
  9. nginx license. nginx.org. accessed October 22, 2026.
  10. Changes with nginx 1.0 (CHANGES-1.0). nginx.org. accessed October 22, 2026.
  11. Beginner's Guide. nginx documentation, nginx.org. accessed October 22, 2026.
  12. Nginx. Advanced Administration Handbook, WordPress.org. accessed October 22, 2026.
  13. Overview of new features in Apache HTTP Server 2.4. Apache HTTP Server Version 2.4 Documentation, The Apache Software Foundation. accessed October 22, 2026.
  14. Apache MPM event. Apache HTTP Server Version 2.4 Documentation, The Apache Software Foundation. accessed October 22, 2026.
  15. The Apache Software Foundation Celebrates the 17th Anniversary of the Apache HTTP Server with the release of v2.4. The Apache Software Foundation. 2012-02-21. accessed October 22, 2026.
  16. Apache HTTP Server Tutorial: .htaccess files. Apache HTTP Server Version 2.4 Documentation, The Apache Software Foundation. accessed October 22, 2026.
  17. Module ngx_http_v3_module. nginx documentation, nginx.org. accessed October 22, 2026.
  18. Licenses. The Apache Software Foundation. accessed October 22, 2026.
  19. F5 Acquires NGINX to Bridge NetOps and DevOps. F5. 2019-03-11. accessed October 22, 2026.
  20. F5 Completes Acquisition of NGINX. F5. 2019-05-09. accessed October 22, 2026.
  21. announcing freenginx.org. Maxim Dounin, nginx mailing list, via freenginx.org. 2024-02-14. accessed October 22, 2026.
  22. NGINX Open Source Moves to GitHub. Dave McAllister, NGINX Community Blog, F5. 2024-09-06. accessed October 22, 2026.
  23. Ingress NGINX Retirement: What You Need to Know. Kubernetes SIG Network and Security Response Committee, Kubernetes Blog. 2025-11-11. accessed October 22, 2026.
  24. nginx: download. nginx.org. accessed October 22, 2026.
  25. Changes with nginx (CHANGES, mainline). nginx.org. 2026-10-21. accessed October 22, 2026.
  26. Changes with nginx 1.30 (CHANGES-1.30). nginx.org. 2026-10-14. accessed October 22, 2026.
  27. Changes with nginx 1.10.0 and earlier 1.9 releases (CHANGES-1.10). nginx.org. accessed October 22, 2026.
  28. RFC 9114: HTTP/3. Internet Engineering Task Force, RFC Editor. 2022-06. accessed October 22, 2026.
  29. nginx security advisories. nginx.org. accessed October 22, 2026.

Web Building Encyclopedia. First published October 22, 2026. Last reviewed October 22, 2026. Every fact on this page is linked to a source we opened. Spotted an error? Write to [email protected].