This section describes how to use dynamic modules with NGINX Plus.
NGINX Plus uses a modular architecture. New features and functionality can be added with software modules, which can be plugged into a running NGINX Plus instance on demand. Dynamic modules add functionality to NGINX Plus such as geolocating users by IP address, resizing images, and embedding njs or Lua scripts into the NGINX Plus event‑processing model. Modules are created both by NGINX, Inc. and third‑party developers.
Dynamic modules plug into NGINX Plus to provide additional functionality
NGINX, Inc. 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.
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):
load_module modules/ngx_http_js_module.so; load_module modules/ngx_stream_js_module.so;
For module‑specific instructions, see the list of modules in the same section of the NGINX Plus Admin Guide as this article:
- HTTP Substitutions Filter
- njs Scripting Language
- NGINX WAF
- Phusion Passenger Open Source
To see the list of available modules, run this command (for Debian and Ubuntu):
$ apt-cache search nginx-plus-module 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
Note: 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, Inc. 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, Inc. 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.