You read in a hosting review that "the site runs on NGINX," or you inspect a site and find Server: nginx in its header, or support tells you that a .htaccess file does not work on their platform. So what is Nginx? Is it a replacement for Apache? And why do the 2026 statistics say "Cloudflare" has overtaken it in share? This article explains the idea from the ground up in plain language, corrects a common mix-up in older comparisons, and shows you how to find out for yourself which server runs behind any site.
The short version: Nginx (pronounced "engine x") is an open-source web server, reverse proxy and load balancer, designed with an event-driven architecture to serve thousands of simultaneous connections with a small number of processes. What changes most for a hosting user is that it has no .htaccess files, and all configuration sits with whoever runs the server.
📋 Quick summary: Nginx in one table
| Item | In plain words |
|---|---|
| What it is | A web server, reverse proxy, content cache and load balancer, and also a proxy for TCP, UDP and mail |
| Who wrote it | Igor Sysoev. It is released under the 2-clause BSD license, and F5 completed its acquisition of the sponsoring company in 2019 |
| Architecture | One master process and several worker processes, each handling thousands of connections with an event model |
| Configuration | A central nginx.conf file managed by the administrator, with no per-folder file like .htaccess |
| Dynamic content (PHP) | It does not run PHP itself but passes the request to PHP-FPM or FastCGI |
| Share | 30.6% of the websites whose web server is known, after "Cloudflare Server" (31.7%) and ahead of Apache (21.7%) and LiteSpeed (14.1%), according to W3Techs on October 12, 2026 |
What is Nginx? The definition and the roots
The project's site, nginx.org, defines its tool as an HTTP web server, reverse proxy, content cache, load balancer, TCP/UDP proxy server and mail proxy server, originally written by Igor Sysoev and distributed under the 2-clause BSD license. It describes it as known for high performance, stability, a rich feature set, simple configuration and low resource consumption (that is the developer's own description).
A short history
The first public release of Nginx came in 2004, as the architecture chapter cited below notes. On May 9, 2019, F5 announced in an official press release that it had completed its acquisition of NGINX, the company behind it, after an agreement it announced on March 11, 2019. The open-source server is still available for free, and F5 sells enterprise distributions and commercial support.
What problem did it appear to solve?
The concurrency problem: many users connected at the same moment. The Nginx chapter in the book The Architecture of Open Source Applications (by Andrew Alexeev) gives an arithmetic example: a 100 KB page may be generated in a fraction of a second, but it takes about 10 seconds to reach a client on an 80 kbps connection. If the server assigns a process or thread to each client and keeps it busy for all those seconds, and a thousand clients arrive at once, with just 1 MB of memory each, about 1 GB goes to serving a thousand slow clients. So Nginx's architecture proposed not creating a process or thread for each connection at all.
How does Nginx work? A master process and workers that handle events
The official beginner's guide explains that nginx has one master process and several worker processes. The master reads the configuration and manages the workers, and the workers process requests using an event-based model and operating-system mechanisms. The configuration sets the number of workers, and it can be set automatically to the number of processor cores (worker_processes auto).
- The request arrives at the listening port. One of the workers picks it up.
- The worker handles it without being blocked. If it needs to read a file from disk or wait for another server's reply, it records that it is waiting for an event and moves on to serve someone else's request.
- When the event arrives, it finishes the job. The file is sent, or the reply is passed on to the visitor.
The same chapter describes this architecture as "modular, event-driven, asynchronous, single-threaded, non-blocking," and says a single worker can handle thousands of connections and requests per second. The project's documentation adds a practical feature: reloading the configuration without interrupting service to clients, with nginx -s reload, where the master checks that the new configuration is valid before applying it.
Kinsta: its documentation says it uses Nginx instead of Apache, so there is no .htaccess file, and its dashboard offers tools for redirects and blocking addresses
☑️ See Kinsta plans
What does Nginx do? Five jobs in one tool
| Job | What it means | Example |
|---|---|---|
| Web server | Serves static files (pages, images, CSS and JavaScript) directly | A simple HTML site or WordPress's static files |
| Reverse proxy | Stands in front of another server, receives requests on its behalf and passes them on | In front of a Node.js application or an Apache server |
| Load balancer | Spreads requests across several servers and skips one that is down | Five application servers behind one address |
| Content cache | Saves responses and serves them without bothering the back-end server, including caching for FastCGI responses | Easing the load on PHP and the database |
| TCP/UDP and mail proxy | Passes on non-web connections such as mail and databases | Routing IMAP/POP3 to an internal server |
To tell this role apart from other network roles, read What Is a Server and What Is a CDN: the latter is a geographically distributed network, while Nginx is software you can run on one server, or that forms part of a CDN network.
And what about PHP and WordPress?
Nginx does not run PHP code itself. It passes PHP page requests to a separate service through FastCGI, and the WordPress documentation lists two options for that back end: php-cgi through fastcgi, or php-fpm. Nginx then returns the response to the visitor. This means that setting up Nginx with WordPress needs a suitable configuration file, which managed hosting takes care of for you.
Nginx vs Apache: the real differences (and a common mix-up corrected)
Many articles say Apache "assigns a process or thread to each connection" and that Nginx handles concurrency better. That was true of the old prefork style, but the official Apache documentation says the default module on modern systems is usually event, which deals with the problem of connections kept open (Keep-Alive) by handing part of the work to listener threads so worker threads are free for new requests. So the architectural gap is narrower than older comparisons claim. The differences that remain today are:
| Aspect | Nginx | Apache |
|---|---|---|
| Folder-level configuration | There is no .htaccess. All configuration is central and managed by the administrator | It supports .htaccess, but its documentation says enabling it costs performance because it is checked on every request |
| Connection architecture | Single-threaded, event-driven workers by design | Different MPM modules (prefork, worker and event), with event the modern default |
| Running PHP | Externally, through PHP-FPM or FastCGI | Through built-in modules or PHP-FPM |
| Scaling as a proxy and balancer | A native part of its job | Possible with extra modules |
| Where it suits a hosting user | Managed hosting, where the host controls the server for you | Shared hosting and panels such as cPanel, where users need to edit their own configuration |
Apache's documentation explains when to use .htaccess: when content providers need to change configuration per directory and do not have root access, which is common in shared hosting and panels such as cPanel, and in content management systems that ship a .htaccess file in their distribution. That is why shared hosting has historically been tied to Apache (or something like it), and Nginx to managed hosting and VPS.
cloudflare.How much do people really use it? And why did Cloudflare take the lead?
According to W3Techs on October 12, 2026 (percentages of sites whose server is known; a site may use more than one server):
| Server | Share | Note |
|---|---|---|
| Cloudflare Server | 31.7% | A front end for the network, not an origin server |
| Nginx | 30.6% | Overtaken by Cloudflare Server on September 22, 2026, according to W3Techs |
| Apache | 21.7% | The basis of many shared hosting setups |
| LiteSpeed | 14.1% | A commercial alternative server that some hosts use |
| Node.js | 7.2% | A JavaScript application server |
This means any origin server's share is affected by the spread of front ends: a site behind a CDN service is counted under its name, not under its origin server. To learn about that service, read What Is Cloudflare. The project's own site calls Nginx "the world's most popular web server," citing Netcraft, so the ranking changes with who measures and how.
How do you find out which server runs behind a site? Steps you can do yourself
You do not need special tools: the Server response header tells you. Open any site you want to check and follow these steps:
X-Powered-By or Via may appear with it.curl -I https://yoursite.com from your computer's terminal to read the same headers.A live example: what we saw on October 12, 2026
We sent a headers-only (HEAD) request to several well-known sites, and this is the Server header as it came back:
| Site | Server header | What it means |
|---|---|---|
| nginx.org | nginx/1.31.3 | The project's site runs on its own server and reveals the version number |
| developer.wordpress.org | nginx | The official WordPress developer site shows Nginx |
| wordpress.com | nginx | Which agrees with the WordPress documentation that WordPress.com runs on Nginx |
| httpd.apache.org | Apache with Via: varnish | An Apache server with a Varnish cache in front |
| w3techs.com | Apache/2.4.58 (Ubuntu) with X-Powered-By: PHP/8.3.6 | Reveals the Apache version, the operating system and the PHP language |
| kinsta.com and hostinger.com | cloudflare | Cloudflare's front end, and we cannot tell their origin server from the header |
| blog.technoa5bar.com | GSE | The front end of the Google services that Blogger runs on |
Exposing version numbers (as in these examples) is information some administrators prefer to hide, and in Nginx it is controlled with the server_tokens directive.
Pressable: its knowledge base says the platform runs on NGINX and PHP-FPM without Apache, so a .htaccess file has no effect, and that Pressable manages the NGINX configuration for you
☑️ See Pressable
What does Nginx change on your site? Four practical results
1. A .htaccess file does not work
The WordPress documentation says Nginx has no directory-level configuration file like .htaccess, that all configuration is done at the server level by an administrator, that WordPress cannot modify it the way it can with Apache, and that Permalinks need special rules. So if a guide or plugin tells you to add lines to .htaccess, it will not work on a host running Nginx, which is one reason some plugins (for redirects, folder protection and caching) offer an Nginx version.
2. Redirects, address blocking and folder passwords
On Kinsta, for example, the MyKinsta dashboard provides tools for redirects, blocking addresses (IP Deny) and password-protecting the site. If you need another rule, Kinsta's documentation says its support team can add it to the Nginx configuration file, and that you cannot edit that file yourself by default. It also says support does not convert ready-made .htaccess rules for you, so a developer has to translate them. Our Kinsta review has the details of its plans. For a ready-made platform that runs the whole server for you, read the WordPress.com review.
3. Protection against heavy requests: rate limiting
Nginx includes the ngx_http_limit_req_module module, which limits the request-processing rate per key, in particular per IP address, using the "leaky bucket" method. This is an example from its official documentation that limits a search page to one request a second with a burst of five allowed:
http {
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
server {
location /search/ {
limit_req zone=one burst=5;
}
}
}
This is a tool that eases heavy requests from one address, and it is not enough on its own against a network of thousands of addresses. To learn about that kind of attack and the other layers of protection, read What Is a DDoS Attack. The project's page counts limiting the number of connections or simultaneous requests from one address, and limiting the response rate, among Nginx's features.
4. Choosing the server when you run a VPS
On an unmanaged VPS you choose: Nginx, Apache or LiteSpeed, and you install the stack (PHP and a database) and set up security yourself. Launching the server is the easy part; the web-server choice and its configuration are yours.
Vultr: VPS servers with full control, where you can install Nginx or Apache and set up protection and the firewall as you like
☑️ See Vultr servers
🎯 Who needs to care about this, and who can wait?
✅ You need to understand Nginx if you:
- Are considering managed hosting (Kinsta, Pressable or WordPress.com)
- Run a VPS and choose the server stack yourself
- Are moving your site from a host that supports .htaccess
- Are building an application that needs a reverse proxy or load balancer
⚠️ You do not need the detail if you:
- Run your site on shared hosting with a ready-made panel where you change everything from the panel
- Rely on a site builder that never shows you the server
- Have a blog on Blogger or a similar closed platform
🏆 The verdict: when does Nginx matter to you?
It does not matter whether Nginx beats Apache in a theoretical comparison. What matters is what changes for you in practice: no .htaccess, central configuration, and managed hosting that handles the setup for you. If you are moving a site from an Apache host, ask support before you move about replacements for the redirect and protection rules you kept in .htaccess.
- In any host's review, read which server it runs on and whether you are allowed to change its configuration.
- If you rely on plugins that put rules in .htaccess, check that they support Nginx.
- Check the Server header of your own sites and your competitors', and look for whether a CDN stands in front.
WordPress.com: the WordPress documentation lists it among the large sites that run on Nginx, and the platform handles the setup for you
☑️ See WordPress.com
✅ Frequently asked questions about Nginx
❓ What is Nginx?
❓ How do you pronounce Nginx?
❓ What is the difference between Nginx and Apache?
❓ Does Nginx support .htaccess files?
❓ Does WordPress work on Nginx?
❓ Does Nginx run PHP code?
❓ Is Nginx faster than Apache?
❓ What is Nginx's share among websites?
❓ How do I know whether a site runs on Nginx?
curl -I on the site's address. If you see nginx, it may be the origin server or a proxy in front of Apache, and if you see cloudflare, that is a front end.❓ Does Nginx protect against heavy requests?
❓ What is the difference between Nginx and a CDN?
❓ Which hosts run on Nginx?
Kamatera: VPS servers where you install the stack your site needs (Nginx or Apache, PHP and a database)
☑️ See Kamatera servers
Which server does your host run? Tell us in the comments what appeared in your Server header.
Related articles you may find useful
🖥️ What Is a Server
The machine that runs web server software such as Nginx. Read the guide
🐘 What Is PHP
The language Nginx passes on to PHP-FPM. Read the guide
🛡️ What Is a DDoS Attack
Why rate limiting alone is not enough. Read the guide
☁️ What Is a CDN
The content delivery network that stands in front of your server. Read the guide
🏢 Pressable Hosting Review
Managed WordPress hosting that runs on NGINX. Read the review