The NGINX Extras is our enormous collection of dynamic NGINX module RPM packages, an essential part of the GetPageSpeed repositories.
It allows you to expand the base NGINX functionality from a simple web server to a modern application stack with the support of:
HTTP
GET
NGINX Extras features:
We support all the maintained releases of CentOS/RHEL, Amazon Linux, and Fedora Linux. All RHEL derivatives like Oracle Linux, AlmaLinux, and Rocky Linux are supported as well.
After signing up, your subscription to the GetPageSpeed repository is instantly activated.
You can immediately set up any available module packages to enhance your NGINX server setup.
sudo yum -y install https://extras.getpagespeed.com/release-latest.rpm
Once the repository configuration is installed, activate your subscription to the GetPageSpeed repository.
Now you can 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 NGINX and the PageSpeed module for it, run:
sudo yum -y install nginx nginx-module-pagespeed
Then, to enable the module after installation, set up your nginx.conf
with the corresponding load_module
directive added at the very top, e.g.
load_module modules/ngx_pagespeed.so;
The installer will show you the required load_module
directive after installing the module.
Also, you can check the documentation for the same.
Loading the module to NGINX can be done by running systemctl reload nginx
provided that your NGINX is already running.
Or simply systemctl start nginx
if this is a fresh NGINX installation.
Be sure to follow up with any guide to actually configure your NGINX with the directives that come with a given module.
For example, the PageSpeed module guide.
New NGINX releases require upgrading its modules. Thanks to the repository, you don’t need to worry about recompiling anything.
We ship updated NGINX and module packages and you can simply run yum upgrade
to get to the latest NGINX and module packages.
After updating a module package, to actually apply it at runtime, you have to run the binary upgrade routine.
This can be done like this:
service nginx upgrade
This ensures that NGINX loads the updated module.
You can consult NGINX Extras documentation for the list of modules available.
In the command line, you can list available modules for installation this way:
sudo yum list available | grep nginx-module
To install the recommended group of modules for performance and security, you may want to run:
sudo yum -y groupinstall "nginx extras recommended"
This installs NGINX, and modules: PageSpeed, Brotli, Dynamic ETag, Immutable (performance); ModSecurity, Security Headers (security).
A list of some of the most interesting module packages follows. In the tables below a package’s name is hyperlinked with either a relevant tutorial by GetPageSpeed, when available, or the project’s homepage.
Package Name | Description |
---|---|
nginx-module-pagespeed | Google PageSpeed module for NGINX |
nginx-module-security | ModSecurity connector for NGINX |
nginx-module-geoip2 | GeoIP2 module for NGINX |
nginx-module-brotli | Brotli compression for NGINX |
nginx-module-lua | NGINX module for Lua scripting support |
nginx-module-rtmp | NGINX RTMP module |
nginx-module-cache-purge | NGINX Cache Purge module |
nginx-module-dynamic-etag | NGINX Dynamic ETag module |
nginx-module-jpeg | Adds overlays (e.g. a logo, visual watermark) on JPEGs when they are requested |
nginx-module-headers-more | Set, add, and clear arbitrary output headers in NGINX http servers |
nginx-module-auth-pam | HTTP PAM authentication module |
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 of available modules and their documentation in the NGINX Extras documentation.
The base NGINX package which is shipped alongside NGINX Extras repository includes a stable and time-tested NGINX binary runtime.
If you like to live on the edge, there’s a drop-in replacement for that runtime.
Read more about nginx-mod, which runs with latest OpenSSL, patched with full HTTP/2 HPACK support and dynamic TLS records.
Also, performance enthusiasts may be interested in NGINX QUIC packages, enabling websites with HTTP/3 support.
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 |
---|---|---|
NGINX Modules Availability | 32 modules | Over 50 modules, including PageSpeed, Brotli and exclusive like Dynamic ETag, Security Headers |
Packages Availability | Only NGINX Modules | Hundreds of useful performance and security related packages |
Web Application Firewall | Yes, ModSecurity for extra $2,000 | Yes, ModSecurity, NAXSI or NGX_WAF LTS at no extra charge |
JWT authentication | Yes | Yes, via nginx-module-jwt module package |
HTTP/2 Full HPACK support | No, slower HTTP/2 | Yes, via NGINX-MOD |
Active health checks | Yes | Yes, via NGINX-MOD |
Adobe HTTP Dynamic Streaming | built-in ngx_http_f4f_module |
Yes, via nginx-module-f4fhds module package |
Pricing | Over $2,500 yearly for a single instance | $99.99 yearly for a single IP (includes unlimited machines behind public IP) |