How to install nginx-module-esi on Ubuntu

Native ESI (Edge Side Includes) with parallel fragment fetching

Vendor: GetPageSpeed https://nginx-extras.getpagespeed.com/modules/esi/

Availability

Compare package tracks by distribution and architecture. Checkmarks show the architectures available in each repository channel.

Distro Channel amd64 arm64 Version
Ubuntu 26.04 (resolute) Stable 1.30.6+1.0.2
NGINX mainline 1.31.8+1.0.2
Ubuntu 24.04 (noble) Stable 1.30.6+1.0.2
NGINX mainline 1.31.8+1.0.2
Ubuntu 22.04 (jammy) Stable 1.30.6+1.0.2
NGINX mainline 1.31.8+1.0.2
Ubuntu 20.04 (focal) Stable 1.30.6+1.0.2
NGINX mainline 1.31.8+1.0.2

Description

Native Edge Side Includes for NGINX: per-fragment caching with independent TTLs using nothing but NGINX and `proxy_cache`. Cache a page shell for hours while a cart fragment stays uncached and a header fragment caches for a minute — the classic reason a Varnish instance sits in front of NGINX. Key Features: - `` resolved as an NGINX subrequest, so each fragment can point at a `location` with its own `proxy_cache` / `proxy_cache_valid` - Same-authority absolute and scheme-relative include URLs are reduced to safe local subrequests, including Magento's percent-encoded fragment paths - Fragments fetched **concurrently**. Open-source Varnish Cache resolves ESI includes sequentially, with the head-of-line blocking that implies; parallel ESI is a Varnish Enterprise feature - `alt=` and `onerror="continue"` failover on a 4xx/5xx fragment - `esi:remove`, `esi:comment`, `esi:vars` markup stripping, `` unwrap; unknown `esi:` tags pass through verbatim rather than being guessed at, matching Varnish - `esi_plan` — memoises where a cached object's ESI constructs are into a shared zone, so a page is scanned once per object rather than once per delivery. Markup-dense cached pages go from 34-40% of `esi off` throughput to ~97% - `esi_stitch` — stores what each unchanged run of the page deflates to and emits those bytes instead of re-compressing the shell on every delivery, the way Varnish does. Moves the compression level off the hot path entirely - Gzipped upstreams need nothing configured: the module decodes what the `gunzip` filter declined to, and the assembled page is recompressed as usual Measured head-to-head against Varnish Cache OSS 7.6.5 on a dedicated 8-vCPU host, one core each, output verified byte-identical before timing: no row in the 24-row matrix is won by Varnish, with 2-6x less CPU per request. Pages with one fragment over a latent origin are a dead heat, which is the honest boundary — there is nothing to parallelise with a single include. Verified on twin Magento Open Source 2.4.8-p5 stores with eight instrumented 50 ms fragments: NGINX rendered every fragment in parallel batches with 0.411 s median page latency versus Varnish 8.0.2 at 1.001 s, a 59% reduction. Used with the Pro cache-purge module, Magento's native X-Magento-Tags purge requests selectively invalidate related pages without a full cache flush. Premium module by GetPageSpeed.

Built for Ubuntu.

Install

Stable Ubuntu 20.04, 22.04, 24.04, 26.04

nginx-module-esi on Ubuntu 20.04 (focal), 22.04 (jammy), 24.04 (noble), 26.04 (resolute)

curl -fsSL https://extras.getpagespeed.com/release-latest.deb -o /tmp/getpagespeed-release.deb
sudo apt-get install -y /tmp/getpagespeed-release.deb
rm /tmp/getpagespeed-release.deb
sudo apt-get update
sudo apt-get install -y nginx-module-esi
NGINX mainline Ubuntu 20.04, 22.04, 24.04, 26.04

nginx-module-esi on Ubuntu 20.04 (focal), 22.04 (jammy), 24.04 (noble), 26.04 (resolute)

curl -fsSL https://extras.getpagespeed.com/release-latest.deb -o /tmp/getpagespeed-release.deb
sudo apt-get install -y /tmp/getpagespeed-release.deb
rm /tmp/getpagespeed-release.deb
sudo getpagespeed-extras-channel mainline
sudo apt-get update
sudo apt-get install -y nginx-module-esi

Package downloads require an active GetPageSpeed subscription — one repository for nginx-module-esi and thousands more packages for Ubuntu.

Subscribe — from $10/mo

Other releases and channels: use the setup wizard.

Frequently asked questions

How do I install nginx-module-esi on Ubuntu?

Add the GetPageSpeed repository, then install the nginx-module-esi package with your system package manager.

Which Ubuntu versions is nginx-module-esi available for?

nginx-module-esi is available for Ubuntu 20.04, 22.04, 24.04, 26.04.

Subscribe