3rd-Party Modules Catalog¶
Community-maintained modules that extend NGINX functionality.
Easy Installation with NGINX Extras
For RHEL/CentOS/AlmaLinux/Rocky Linux users, NGINX Extras provides pre-built module packages. No compiling needed!
For Debian/Ubuntu users, see APT NGINX Extras.
Installing Pre-Built Modules¶
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install nginx-module-<name>
yum -y install https://extras.getpagespeed.com/release-latest.rpm
yum -y install epel-release
yum -y install nginx-module-<name>
Auto-enabled
Debian/Ubuntu packages automatically enable modules — no load_module needed!
RHEL-based systems only: After installing, enable the module in /etc/nginx/nginx.conf:
load_module modules/ngx_http_<name>_module.so;
Detailed Documentation¶
These modules have in-depth documentation in this wiki:
| Module | Description |
|---|---|
| Upload | File upload handling with multipart/form-data |
| Nchan | Pub/sub for WebSockets, EventSource, Long-Poll |
Popular Modules¶
Content & Templating¶
| Module | Description | Documentation |
|---|---|---|
| Echo | Shell-style commands (echo, sleep, exec) | NGINX Extras |
| Lua | Embed Lua scripts in NGINX | NGINX Extras |
| Perl | Embed Perl (built-in, --with-http_perl_module) |
Built-in |
| Substitutions | Regex-based response body substitution | NGINX Extras |
| Headers More | Set/clear input/output headers | NGINX Extras |
| Fancy Index | Customizable directory listings | NGINX Extras |
Caching & Performance¶
| Module | Description | Documentation |
|---|---|---|
| Brotli | Brotli compression | NGINX Extras |
| Redis2 | Full Redis 2.0 protocol support | NGINX Extras |
| Memc | Memcached protocol with full support | NGINX Extras |
| SRCache | Transparent subrequest caching | NGINX Extras |
| PageSpeed | Google PageSpeed optimization | NGINX Extras |
Load Balancing¶
| Module | Description | Documentation |
|---|---|---|
| Upstream Fair | Fair load balancing algorithm | NGINX Extras |
| Upstream JDomain | Dynamic DNS resolution for upstreams | NGINX Extras |
| Upsync | Dynamic upstream configuration | NGINX Extras |
Security & Access Control¶
| Module | Description | Documentation |
|---|---|---|
| Auth Digest | RFC 2617 Digest Authentication | NGINX Extras |
| Auth PAM | PAM authentication | NGINX Extras |
| Auth LDAP | LDAP authentication | NGINX Extras |
| Auth TOTP | Time-based One-Time Password | NGINX Extras |
| NAXSI | Web Application Firewall | NGINX Extras |
| ModSecurity | WAF with OWASP Core Rule Set | NGINX Extras |
| Security Headers | Add security headers automatically | NGINX Extras |
Real-time & Push¶
| Module | Description | Documentation |
|---|---|---|
| Nchan | Pub/sub (WebSocket, SSE, Long-Poll) | NGINX Extras |
| Push Stream | Push/streaming capabilities | NGINX Extras |
File Handling¶
| Module | Description | Documentation |
|---|---|---|
| Upload | Multipart file upload handling | NGINX Extras |
| ZIP | Create ZIP archives on-the-fly | NGINX Extras |
| Untar | Serve files from tar archives | NGINX Extras |
Media & Streaming¶
| Module | Description | Documentation |
|---|---|---|
| RTMP | RTMP/HLS/DASH streaming | NGINX Extras |
| VOD | On-the-fly HLS/DASH from MP4 | NGINX Extras |
| Image Filter | On-the-fly image transformation | NGINX Extras |
| Small Light | Advanced image transformation | NGINX Extras |
Utilities¶
| Module | Description | Documentation |
|---|---|---|
| Set Misc | Additional set directives | NGINX Extras |
| Form Input | Parse POST form data | NGINX Extras |
| Array Var | Array variables | NGINX Extras |
| Iconv | Character encoding conversion | NGINX Extras |
| GeoIP2 | MaxMind GeoIP2 database support | NGINX Extras |
| NJS | JavaScript scripting | NGINX Extras |
Logging & Monitoring¶
| Module | Description | Documentation |
|---|---|---|
| Log ZMQ | ZeroMQ log publishing | NGINX Extras |
| VTS | Virtual host traffic status | NGINX Extras |
| STS | Stream traffic status | NGINX Extras |
| Graphite | Send metrics to Graphite | NGINX Extras |
Development & Helper¶
| Module | Description | Documentation |
|---|---|---|
| NDK | Nginx Development Kit (required by many modules) | NGINX Extras |
| Cache Purge | Purge content from cache | NGINX Extras |
| DAV Ext | Extended WebDAV support | NGINX Extras |
Complete Module List¶
For a complete list of available modules with documentation:
- RPM-based distros: NGINX Extras Modules
- Lua libraries: NGINX Extras Lua Scripting
Lua Scripting¶
For Lua scripting in NGINX, you have several options:
- NGINX Extras: Install
nginx-module-luafrom NGINX Extras for RPM-based systems - Lua Libraries: Browse available Lua libraries for common tasks
- OpenResty: A full distribution bundling NGINX with LuaJIT (useful if you need many Lua modules)
Recommended Module Groups¶
For quick setup, NGINX Extras provides module groups:
# Performance and security essentials
sudo dnf -y groupinstall "nginx extras recommended"
This installs: PageSpeed, Brotli, Dynamic ETag, Immutable (performance) and ModSecurity, Security Headers (security).
Upgrading Modules¶
After updating module packages:
# Apply updates at runtime
sudo service nginx upgrade
This performs a binary upgrade without dropping connections.
Contributing¶
To suggest additions or corrections to this catalog, please contact the maintainers.