Load modules dynamically into NGINX Plus at runtime to add specialized functionality, including features authored by third parties.
Dynamic modules plug into NGINX Plus to provide additional functionality
NGINX maintains a repository of dynamic modules for NGINX Plus. All modules in our repository are fully tested and certified for correct interoperation with NGINX Plus.
There are many additional third‑party modules that are not included in the repository, but can be found in community projects like [awesome-nginx]((https://github.com/agile6v/awesome-nginx#third-party-modules). You can compile many of them as dynamic modules.
You can access and download the modules in the NGINX Plus dynamic modules repository using standard package management tools such as
yum. For example, to install njs dynamic modules for Debian and Ubuntu, run the command:
apt-get install nginx-plus-module-njs
Then you include the
load_module directive in the NGINX Plus configuration file for each dynamic module. For example, to enable
njs dynamic modules, specify the
load_module directives in the top-level (“
main”) context of the main NGINX Plus configuration file (nginx.conf):
For module‑specific instructions, see the list of modules in the same section of the NGINX Plus Admin Guide as this article:
- FIPS Status Check
- HTTP Substitutions Filter
- njs Scripting Language
- NGINX ModSecurity WAF
- NGINX Developer Kit
- Phusion Passenger Open Source
To see the list of available modules, run this command (for Debian and Ubuntu):
apt-cache search nginx-plus-module
The output of the command:
nginx-plus-module-geoip - NGINX Plus, provided by NGINX, Inc. (GeoIP dynamic modules)
nginx-plus-module-geoip-dbg - Debugging symbols for the nginx-plus-module-geoip
nginx-plus-module-geoip2 - NGINX Plus, provided by NGINX, Inc. (3rd-party GeoIP2 dynamic modules)
nginx-plus-module-geoip2-dbg - Debugging symbols for the nginx-plus-module-geoip2
nginx-plus-module-headers-more - NGINX Plus, provided by NGINX, Inc. (3rd-party headers-more dynamic module)
nginx-plus-module-headers-more-dbg - Debugging symbols for the nginx-plus-module-headers-more
nginx-plus-module-image-filter - NGINX Plus, provided by NGINX, Inc. (image filter dynamic module)
nginx-plus-module-image-filter-dbg - Debugging symbols for the nginx-plus-module-image-filter
There is an optional debugging symbols package available for every module. You can load and use the module without installing this package.
In addition to modules authored by NGINX and community third‑party developers, the repository contains NGINX Plus Certified Modules which are available for purchase from commercial third parties. Certified Modules are distributed and supported by their authors. NGINX has tested the modules extensively and certifies that they do not interfere with standard NGINX Plus functionality.
NGINX Plus Certified Modules are identified with this checkmark icon on the Dynamic Modules page:
Click the module box on that page and then the GET MODULE button.
Some modules are not available for certain OS versions because of OS limitations. For details, see the NGINX Plus Technical Specifications.
To compile your own dynamic modules, please see our blog.
To uninstall a dynamic module, please follow the Uninstalling a dynamic module article.