Nginx is the second most popular Web server, with about 15% market share amongst active websites. Apache is in first place, with Microsoft’s IIS right behind Nginx. That’s from the September 2015 Web Server Survey from Netcraft.
Like Apache, Nginx is open source software. However, unlike Apache, Nginx has a commercial edition – Nginx Plus, which is developed and supported by Nginx, Inc.
As is wont with such software, Nginx Plus has a few features that are not available in open source Nginx. And a few features that are default in a binary install of Nginx Plus can only be enabled at compile time for open source Nginx.
The following table shows a comparison of core features of both editions of Nginx.
Nginx Plus vs open source Nginx
Core Features | Open source Nginx | Nginx Plus |
---|---|---|
TCP load balancing | Optional, enabled at compile time | Built-in |
Load-balancing methods | Round Robin, generic Hash, IP Hash, Least Connections | Round Robin, generic Hash, IP Hash, Least Connections, Least Time |
PROXY_PROTOCOL support | Yes | Yes |
SSL decryption and encryption | Yes | Yes |
DNS configuration | Static (at configuration load) | Dynamic (DNS configuration can be regularly refreshed) |
Dynamic load balancing configuration | No | Yes |
Passive health checks | Yes | Yes |
Application-aware health checks | No | Yes |
Slow-Start for recovered servers | No | Yes |
TCP load balancing metrics and health check data | No | Yes |
Access Control Lists (ACLs) | Yes | Yes |
Bandwidth limiting | Yes | Yes |
Client connection limits | Yes | Yes |
Binding to a specific address | Yes | Yes |
Server (upstream) connection limits | No | Yes |
source: TCP Load Balancing in NGINX Plus R7
Nginx is supported on all Unix-like operating systems, but because of the ports tree in the BSDs, those few features that are only available at compile time are more readily available to users in, say, FreeBSD than on Linux distributions. So all things being equal, I’ll rather install Nginx on FreeBSD than on, say, Ubuntu server.