Important: this page is meant for users of the Plesk control panel. If you are interested in building a panel-less web server powered by NGINX, check out the main NGINX Extras page instead.
The NGINX Extras is our enormous collection of dynamic NGINX module packages.
Users of the Plesk control panel may install Plesk-compatible NGINX module packages from our repository.
Our Plesk-compatible NGINX module packages allow you to expand the base NGINX which was shipped with Plesk from a simple webserver to a modern application stack with support of:
We support the same set of RPM-based operating systems as Plesk. This includes RHEL, CentOS, AlmaLinux, RockyLinux, CloudLinux, etc.
NGINX Extras for Plesk features:
sudo yum -y install https://extras.getpagespeed.com/release-latest.rpm
Once the repository configuration is installed, activate your subscription to the GetPageSpeed repository.
Subscribed? Proceed with installing the modules to build your ultimate high-performance web stack.
Thanks to the nature of dynamic modules, you can install just the modules you want instead of using bloatware NGINX installation.
For example, to install the Dynamic ETag module for NGINX in Plesk, run:
sudo yum -y install sw-nginx-module-dynamic-etag
Then follow the installation prompt to enable it:
sudo plesk sbin nginx_modules_ctl --enable dynamic-etag
Now you can use the module’s directives (according to its documentation), in your NGINX configuration.
To list available modules for installation, run:
sudo yum list available | grep sw-nginx-module
Installing and enabling an NGINX module can be done with:
sudo yum -y install sw-nginx-module-<handle>
sudo plesk sbin nginx_modules_ctl --enable <handle>
For example, to install the Security Headers module, you may run:
sudo yum -y install sw-nginx-module-security-headers
sudo plesk sbin nginx_modules_ctl --enable security-headers
Because the control panel can easily overwrite things upon updates or edits in its interface, you must know how to safely add additional configuration directives.
Safely means that your configuration will be preserved upon Plesk updates.
The placement will depend upon the scope that you want the new directives to apply to.
If you want to customize a single website’s NGINX configuration to make use of the installed modules, you can typically do so via the Plesk interface and add relevant directives there:
If you want to apply some global NGINX configuration for all the websites at once, it is advisable to create /etc/nginx/conf.d/custom.conf
and place the extra configuration directives there.
Finally, if a module (for example, RTMP) requires directives to be placed outside http {}
context, then you can create /etc/nginx/modules.conf.d/zzz_custom.conf
and add those directives there.
Such filename will ensure the loading of directives after NGINX loaded the modules.
A list of some of the most interesting module packages follows (remember, there are actually 50+ available, see below). In the tables below a package’s name is hyperlinked with either a relevant tutorial by GetPageSpeed, when available, or project’s homepage.
Important: while following instructions on those pages, be sure to install packages with the sw-
prefix, and use plesk sbin nginx_modules_ctl --enable ...
command which will be displayed after installation for enabling, Do not manually edit nginx.conf
!
Package Name | Description |
---|---|
sw-nginx-module-geoip2 | GeoIP2 module for NGINX |
sw-nginx-module-rtmp | NGINX RTMP module |
sw-nginx-module-cache-purge | NGINX Cache Purge module |
sw-nginx-module-dynamic-etag | NGINX Dynamic ETag module |
sw-nginx-module-jpeg | Adds overlays (e.g. a logo, visual watermark) on JPEGs when they are requested |
sw-nginx-module-headers-more | Set, add, and clear arbitrary output headers in NGINX http servers |
sw-nginx-module-auth-pam | HTTP PAM authentication module |
sw-nginx-module-fancyindex | Generation of file listings, like the built-in autoindex module does, but adding a touch of style |
The above table is just for a few of the utmost interest. But there are actually more than 50 modules available. You can get the complete list here or simply run yum search sw-nginx-module
.
For further details about our RPM repository, see dedicated repository page.
You can provide any feedback and submit/request additional modules to be built in our public NGINX Extras repository.
Feature Description | NGINX Plus | GetPageSpeed NGINX Extras |
---|---|---|
Plesk compatibility | Not Compatible | Compatible |
NGINX Modules Availability | 32 modules | Over 50 modules, including exclusive like Dynamic ETag, Security Headers |
Packages Availability | Only NGINX Modules | Hundreds of useful performance and security related packages |
JWT authentication | Yes | Yes, via nginx-module-jwt module package |
Adobe HTTP Dynamic Streaming | built-in ngx_http_f4f_module |
Yes, via nginx-module-f4fhds module package |
Pricing | $140 yearly for a single IP (includes unlimited machines behind public IP) |