F5 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 NGINX JavaScript njs or Lua scripts into the NGINX Plus eventâprocessing model. Modules are created both by NGINX and thirdâparty developers.
Dynamic modules are shared object files (.so
) that can be loaded at runtime using the load_module
directive in the NGINX configuration.
NGINX maintains the official NGINX Plus repository, which also provides packaged binaries for both NGINXâauthored and NGINXâcertified community dynamic modules. All modules in this repository are fully tested to ensure full compatibility with NGINX Plus.
For moduleâspecific installation and usage instructions, select the corresponding package name in the table.
Community dynamic modules
Besides the modules provided in the official repository, a wide range of third-party modules is available through community-driven projects such as Awesome NGINX GitHub project. Many of these modules can be compiled as dynamic modules and used with your NGINX Plus or NGINX Open Source deployments.
NGINX Certified Partner dynamic modules
In addition to the modules authored by NGINX and community thirdâparty developers, NGINX Certified Partner Modules 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 Certified Partner modules can be found on the F5 Dynamic Modules page.
To get started using dynamic modules, first install the latest NGINX Plus release, following the installation instructions. Dynamic modules are supported since NGINX Plus Release 9.
Getting started with the dynamic modules repository
You can access and install the modules from the NGINX Plus repository using standard package management tools such as apt
, dnf
, pkg
, yum
, or zypper
.
Displaying the list of available modules
To see the list of available modules, run this command (for Debian and Ubuntu):
shellapt update && \
apt-cache search nginx-plus-module
apt update && \
apt-cache search nginx-plus-module
The output of the command:
shellnginx-plus-module-acme/stable
NGINX Plus ACME dynamic module
nginx-plus-module-auth-spnego/stable
NGINX Plus 3rd-party kerberos authentication dynamic module
nginx-plus-module-brotli/stable
NGINX Plus 3rd-party brotli compression dynamic modules
nginx-plus-module-encrypted-session/stable
NGINX Plus 3rd-party encrypted session dynamic module
nginx-plus-module-fips-check/stable
NGINX Plus 3rd-party FIPS status check dynamic module
nginx-plus-module-geoip/stable
NGINX Plus GeoIP dynamic modules
nginx-plus-module-geoip2/stable
NGINX Plus 3rd-party GeoIP2 dynamic modules
nginx-plus-module-headers-more/stable
NGINX Plus 3rd-party headers-more dynamic module
nginx-plus-module-image-filter/stable
NGINX Plus image filter dynamic module
nginx-plus-module-lua/stable
NGINX Plus 3rd-party Lua dynamic modules
nginx-plus-module-ndk/stable
NGINX Plus 3rd-party NDK dynamic module
nginx-plus-module-njs/stable
NGINX Plus njs dynamic modules
nginx-plus-module-opentracing/stable
NGINX Plus 3rd-party OpenTracing dynamic module
nginx-plus-module-otel/stable
NGINX Plus OpenTelemetry dynamic module
nginx-plus-module-passenger/stable
NGINX Plus 3rd-party Passenger dynamic module
nginx-plus-module-perl/stable
NGINX Plus Perl dynamic module
nginx-plus-module-prometheus/stable
NGINX Plus Prometheus exporter NJS module
nginx-plus-module-rtmp/stable
NGINX Plus 3rd-party RTMP dynamic module
nginx-plus-module-set-misc/stable
NGINX Plus 3rd-party set-misc dynamic module
nginx-plus-module-subs-filter/stable
NGINX Plus 3rd-party substitution dynamic module
nginx-plus-module-xslt/stable
NGINX Plus xslt dynamic module
nginx-plus-module-acme/stable
NGINX Plus ACME dynamic module
nginx-plus-module-auth-spnego/stable
NGINX Plus 3rd-party kerberos authentication dynamic module
nginx-plus-module-brotli/stable
NGINX Plus 3rd-party brotli compression dynamic modules
nginx-plus-module-encrypted-session/stable
NGINX Plus 3rd-party encrypted session dynamic module
nginx-plus-module-fips-check/stable
NGINX Plus 3rd-party FIPS status check dynamic module
nginx-plus-module-geoip/stable
NGINX Plus GeoIP dynamic modules
nginx-plus-module-geoip2/stable
NGINX Plus 3rd-party GeoIP2 dynamic modules
nginx-plus-module-headers-more/stable
NGINX Plus 3rd-party headers-more dynamic module
nginx-plus-module-image-filter/stable
NGINX Plus image filter dynamic module
nginx-plus-module-lua/stable
NGINX Plus 3rd-party Lua dynamic modules
nginx-plus-module-ndk/stable
NGINX Plus 3rd-party NDK dynamic module
nginx-plus-module-njs/stable
NGINX Plus njs dynamic modules
nginx-plus-module-opentracing/stable
NGINX Plus 3rd-party OpenTracing dynamic module
nginx-plus-module-otel/stable
NGINX Plus OpenTelemetry dynamic module
nginx-plus-module-passenger/stable
NGINX Plus 3rd-party Passenger dynamic module
nginx-plus-module-perl/stable
NGINX Plus Perl dynamic module
nginx-plus-module-prometheus/stable
NGINX Plus Prometheus exporter NJS module
nginx-plus-module-rtmp/stable
NGINX Plus 3rd-party RTMP dynamic module
nginx-plus-module-set-misc/stable
NGINX Plus 3rd-party set-misc dynamic module
nginx-plus-module-subs-filter/stable
NGINX Plus 3rd-party substitution dynamic module
nginx-plus-module-xslt/stable
NGINX Plus xslt dynamic module
The command output also includes an optional debugging symbols package available for each module, for example, nginx-plus-module-njs-dbg
. These packages are intended for troubleshooting and diagnostics and should be installed only in debugging or development environments. For more information, see Debugging NGINX.
Installing and loading the module
To install a package, for example, NGINX JavaScript (njs) dynamic modules for Ubuntu, run the command in a terminal:
shellsudo apt update && \
sudo apt install nginx-plus-module-njs
sudo apt update && \
sudo apt install nginx-plus-module-njs
Then you include the load_module
directive in the NGINX Plus configuration file for each dynamic module. The path to the dynamic modules default directory depends on your operating system:
/usr/lib64/nginx/modules/
for most Linux operating systems/usr/lib/nginx/modules
for Debian, Ubuntu, Alpine/usr/local/etc/nginx/modules
for FreeBSDFor example, to enable the njs
dynamic modules after the installation of the nginx-plus-module-njs
package:
in a text editor, open the NGINX Plus configuration file:
/etc/nginx/nginx.conf
for Linux/usr/local/etc/nginx/nginx.conf
for FreeBSDon the top-level (or the âmain
â context, before any http
or stream
blocks), specify the path to the target .so
file with the load_module
directive:
load_module modules/ngx_http_js_module.so;
load_module modules/ngx_stream_js_module.so;
http {
#...
}
stream {
#...
}
load_module modules/ngx_http_js_module.so;
load_module modules/ngx_stream_js_module.so;
http {
#...
}
stream {
#...
}
Certain dynamic modules may be unavailable on specific operating system versions due to platform limitations. For detailed compatibility information, see the NGINX Plus Technical Specifications.
Compiling your own dynamic modules
To compile your own dynamic modules, see the Compiling Third-Party Dynamic Modules for NGINX Plus blogpost.
Uninstalling a dynamic module
To uninstall a dynamic module, see the Uninstalling a dynamic module article.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4