Skip to main content

NGINX modules for Plesk — $5/mo, half the Plus price

100+ sw-nginx-module-* packages built for Plesk's sw-nginx ABI. RTMP streaming, security headers, Zstandard, dynamic ETag and more — installable with yum, dnf, or apt, then enabled with one plesk sbin nginx_modules_ctl command.

Dedicated Plesk tier · $5/mo · or $50/yr
Subscribe — $5/mo View Modules
100+
Plesk Modules
$5
Per Month
RPM + DEB
EL7-EL10 + 5 DEB releases
2016
Since

What is NGINX Extras for Plesk?

A focused subscription channel for one audience: Plesk control-panel admins. The Plesk-shipped NGINX (sw-nginx) is a separate binary with its own ABI, so it cannot load the modules we build for stock NGINX. We solve that by maintaining a parallel build of every relevant module against sw-nginx, shipped under the sw- prefix.

The end result: extend the bare NGINX Plesk gave you into a modern application stack — without leaving the panel, recompiling anything, or disabling SELinux.

  • Dynamic modules — install only what you need, no bloatware
  • The largest pre-built collection of Plesk-compatible NGINX modules anywhere
  • SELinux stays enforcing — no compiled-install pitfalls
  • CDN-powered package delivery

Quick install example

# 1. Add the repository
sudo yum -y install \
  https://extras.getpagespeed.com/release-latest.rpm

# 2. Activate your subscription at
#    https://www.getpagespeed.com/plesk-subscribe

# 3. Install a module — e.g. Dynamic ETag
sudo yum -y install sw-nginx-module-dynamic-etag

# Ubuntu/Debian alternative:
# curl -fsSL https://extras.getpagespeed.com/release-latest.deb \
#   -o /tmp/getpagespeed-extras-release.deb
# sudo apt install /tmp/getpagespeed-extras-release.deb
# sudo apt update
# sudo apt install sw-nginx-module-dynamic-etag

# 4. Enable it via Plesk's supported command
sudo plesk sbin nginx_modules_ctl \
  --enable dynamic-etag

No compilation | SELinux enforcing | Plesk-safe

Featured Plesk-compatible NGINX modules

Each installable with yum, dnf, or apt install sw-nginx-module-<handle> and enabled via plesk sbin nginx_modules_ctl.

Plus 100+ more sw-nginx modules

Specialised modules for streaming, load balancing, scripting, monitoring

sw-nginx-module-auth-pam

HTTP authentication via Linux PAM

sw-nginx-module-headers-more

Set, add, and clear arbitrary HTTP headers

sw-nginx-module-fancyindex

Stylish directory listings (custom templates)

sw-nginx-module-njs

Server-side JavaScript for HTTP request processing

sw-nginx-module-immerse

Inline asset embedding for faster first paint

sw-nginx-module-postgres

Direct PostgreSQL query handling from NGINX

sw-nginx-module-set-misc

Additional rewrite and variable manipulation directives

sw-nginx-module-sysguard

Reject requests when load/memory exceed thresholds

sw-nginx-module-upstream-fair

Fair load balancing across upstreams

sw-nginx-module-flv

Pseudo-streaming for FLV media

View the RPM package list Ubuntu/Debian Plesk guide

NGINX modules for Plesk vs NGINX Plus

NGINX Plus is not Plesk-compatible. This is.

Feature NGINX Plus NGINX modules for Plesk
Plesk control-panel compatibility Not compatible Compatible — built for sw-nginx
Module count 32 100+ sw-nginx-module-* packages
Exclusive modules Dynamic ETag, Security Headers, Cache Purge
SELinux enforcing N/A on Plesk Yes on RPM; native Plesk paths on DEB
JWT authentication Yes Yes, via sw-nginx-module-jwt
RTMP / HLS streaming Yes, via sw-nginx-module-rtmp
Starting price $3,675+/yr per instance $5/mo per server

Get a module installed in under 3 minutes

From repo to enabled inside the Plesk-managed NGINX

1

Install the repository

Add the Plesk RPM channel or the stable APT repository.

sudo yum -y install \
  https://extras.getpagespeed.com/release-latest.rpm

# Ubuntu/Debian:
curl -fsSL https://extras.getpagespeed.com/release-latest.deb \
  -o /tmp/getpagespeed-extras-release.deb
sudo apt install /tmp/getpagespeed-extras-release.deb
sudo apt update
2

Activate the $5/mo Plesk tier

Enter the server's public IP at checkout.

Subscribe — /plesk-subscribe
3

Install & enable a module

Example: Dynamic ETag for conditional GET.

sudo yum -y install \
  sw-nginx-module-dynamic-etag

# Ubuntu/Debian:
sudo apt install sw-nginx-module-dynamic-etag

sudo plesk sbin nginx_modules_ctl \
  --enable dynamic-etag
Subscribe — $5/mo

$5/mo or $50/yr · cancel anytime

Where to put NGINX directives so Plesk does not eat them

The control panel rewrites parts of the NGINX configuration on routine actions. Where you place your directives decides whether they survive the next Plesk update.

Per-vhost (one website)

In the Plesk UI: Websites & Domains → pick the site → Hosting & DNSApache & nginx Settings → paste under Additional nginx directives. Plesk stores these in its own templates and reapplies them on every reconfig.

Globally inside http {}

Create /etc/nginx/conf.d/custom.conf. Plesk leaves conf.d/ alone; everything you put there is included in the main http {} block.

Globally outside http {} (e.g. RTMP)

Some modules (RTMP is the obvious one) need directives at the top level of nginx.conf, not inside http {}. Put those in /etc/nginx/modules.conf.d/zzz_custom.conf — the zzz_ prefix guarantees the file loads after NGINX has loaded the dynamic modules themselves, so the new directives are recognised.

Frequently asked questions

Everything Plesk admins ask before subscribing

Because it is a strictly narrower product. The Plesk tier opens only sw-nginx-module-* packages built for Plesk's sw-nginx ABI. The Plus tier also includes our stock NGINX packages, alternate NGINX builds, dependencies, and general server tools that a Plesk host does not need.

Carving Plesk out as its own tier prices the actual delivered value rather than charging for unrelated repository access.

Yes — keep the Plesk-shipped sw-nginx exactly as Plesk installed it. Our packages are add-on modules for that same sw-nginx, never replacements. Enable them via the supported Plesk command:

sudo plesk sbin nginx_modules_ctl --enable <module>

Plesk updates will not strip the modules; the install paths are designed to survive routine Plesk upgrades.

Yes on RPM-based systems — that is a key reason to use packaged modules instead of compiling your own. RPM packages ship the appropriate SELinux integration where required. Debian and Ubuntu packages install into Plesk's native module paths and require no SELinux workaround.

Yes. We support the same RPM-based operating systems Plesk supports: RHEL, CentOS, AlmaLinux, Rocky Linux, CloudLinux, Amazon Linux, on EL7 / EL8 / EL9 / EL10. Both x86_64 and aarch64 (ARM64) builds are published.

Yes. The production DEB cohort supports Ubuntu 20.04, Ubuntu 22.04, and Ubuntu 24.04 plus Debian 12 and Debian 13 on amd64. Install the APT repository package, then install the same sw-nginx-module-<handle> names used on RPM systems. Every DEB depends on the exact Plesk sw-nginx package version it was built against.

Drop your subscription and re-subscribe to the regular Plus tier at that point — the stock-nginx repo channel covers everything you would need. The Plesk tier is intentionally specific to sw-nginx; there is no point paying for it once you no longer run Plesk.

Per the IP address of the server you list at checkout — the same mechanism used by every other GetPageSpeed subscription. yum, dnf, and apt package requests from that IP get authorised; everything else is rejected at the repository layer. No license keys, no JWT, no environment files.

Ready to extend Plesk's NGINX?

$5/mo or $50/yr · one IP per subscription · cancel anytime

Subscribe — /plesk-subscribe