fbpx

NGINX Extras: The no-brainer NGINX Plus alternative

What is NGINX Extras?

The NGINX Extras is our enormous collection of dynamic NGINX modules.

It allows you to expand the base NGINX functionality from a simple webserver to a modern application stack with support of:

  • the latest technologies like Brotli compression
  • dynamic ETag support
  • automatic security headers
  • ModSecurity
  • PageSpeed
  • Lua scripting and a whole lot more!

Supported operating systems are CentOS/RHEL 6, 7 and 8.

NGINX Extras features:

  • Leverage dynamic modules. You can install the bare minimum NGINX or any modules you wish, extending as you need. Not a bloatware NGINX build!
  • Is the largest collection of pre-built dynamic NGINX modules on the Internet in a single repository
  • Allows you to keep SELinux enabled, and avoid the common pitfalls of compiled installs
  • Powered by CDN!

Getting started

Install repository configuration

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? Run yum clean all and proceed with installing the modules to build your ultimate high-performance web stack.

Install NGINX modules

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 with the PageSpeed module, run:

yum install nginx nginx-module-pagespeed

To list available modules for installation, run:

yum list available | grep nginx-module

To install the recommended group of modules for performance, you may want to run:

yum groupinstall "nginx extras"

… which installs NGINX with PageSpeed and Brotli modules.

A list of some of the most interesting module packages follows. In the tables below a package’s name is hyperlinked with either relevant tutorial by GetPageSpeed, when available, or project’s homepage.

Package Name Description
nginx-module-pagespeed Google PageSpeed for NGINX
nginx-module-security ModSecurity connector for NGINX
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
nginx-module-nbr Brotli compression for NGINX
nginx-module-jpeg Adds overlays (e.g. a logo, visual watermark) on JPEGs when they are requested

The above table is just for a few of utmost interest. But there are actually more than 50 modules available. You can get the complete list here or simply run yum search nginx-module.

Upgraded from EPEL’s NGINX?

Be sure to clean up EPEL’s NGINX module packages:

yum remove $(yum list installed | grep 'nginx.*@epel' | awk '{ print $1 }')

There’s always more

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.

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.