Skip to main content

OpenResty Alternative: Same Lua Module, Better Everything Else

Get the same lua-nginx-module that powers OpenResty, plus 115+ lua-resty libraries, latest NGINX stable and mainline, and 100+ additional dynamic modules. All through your package manager.

115+ Lua Libraries • 100+ NGINX Modules • Latest NGINX Always

TL;DR — Why Switch from OpenResty?

OpenResty is primarily the lua-nginx-module bundled with NGINX and a set of Lua libraries. GetPageSpeed offers the exact same lua-nginx-module, over 115 lua-resty libraries as proper system packages, and the latest NGINX stable + mainline builds — updated within hours of upstream releases. Plus 100+ additional NGINX modules like Brotli, ModSecurity, PageSpeed, and GeoIP2. No compiling from source. Just dnf install nginx-module-lua.

Your existing Lua code works unchanged — it is the same module underneath. You gain dynamic module loading, proper dependency management, security updates per-library, and support across 10+ Linux distributions including ARM64.

Feature-by-Feature: OpenResty vs GetPageSpeed

Everything OpenResty does, plus everything it does not

Feature OpenResty GetPageSpeed NGINX
Core NGINX Platform
lua-nginx-module Same module — originated from the OpenResty project
NGINX Version Freshness Stable + mainline branches Lags months behind Hours after release
Dynamic Module Loading Load/unload modules at runtime without recompiling
HTTP/3 (QUIC) Support Via NGINX QUIC packages
HTTP/2 Full HPACK Encoding NGINX-MOD includes HPACK patch
Brotli Compression 15-25% better than gzip
ModSecurity WAF Industry-standard web application firewall
Google PageSpeed Automatic frontend optimization
Lua Ecosystem
lua-resty Libraries ~70 bundled 115+ as packages
Library Installation Compile or opm dnf install / apt-get
Dependency Management Dependencies resolved by package manager Manual Automatic (RPM/DEB)
Security Updates Targeted patching without rebuilding Rebuild everything dnf update per-library
LuaJIT Both use LuaJIT 2.1 for near-native speed
Packaging & Operations
Installation Method Compile from source dnf install / apt-get
Native RPM/DEB Packages Built natively for each distro Limited (own fork)
Distro Coverage RHEL, AlmaLinux, Rocky, Fedora, Amazon Linux, SLES, Debian, Ubuntu Limited 10+ distro families
Architecture Support Native ARM64 builds x86_64 x86_64 + aarch64
Module Isolation All-or-nothing bundle Install only what you need
Upgrade Path Replace entire build Standard package upgrades

Installation: Minutes vs Hours

See the difference proper packaging makes

The OpenResty Way 8+ steps

# Download and extract source wget https://openresty.org/download/openresty-X.X.X.tar.gz tar xzf openresty-X.X.X.tar.gz cd openresty-X.X.X # Install build dependencies sudo yum install pcre-devel openssl-devel gcc make # Configure with desired options ./configure --with-http_ssl_module \ --with-http_v2_module \ --with-http_realip_module # Compile and install make -j$(nproc) sudo make install # Install libraries one by one opm get ledgetech/lua-resty-http opm get bungle/lua-resty-session # ... repeat for each library

The GetPageSpeed Way 3 steps

# One-time repo setup sudo dnf install \ https://extras.getpagespeed.com/release-latest.rpm # Install NGINX + Lua + any libraries sudo dnf install nginx nginx-module-lua \ lua5.1-resty-http \ lua5.1-resty-redis \ lua5.1-resty-jwt \ lua5.1-resty-session # Done. Start NGINX. sudo systemctl enable --now nginx

Also available via APT for Debian and Ubuntu. Set up the APT repository.

115+ lua-resty Libraries, One Command Away

Every library from the OpenResty ecosystem and beyond, as proper system packages

HTTP & Networking

  • lua-resty-http
  • lua-resty-dns
  • lua-resty-websocket
  • lua-resty-requests

Data Stores

  • lua-resty-redis
  • lua-resty-mysql
  • lua-resty-memcached
  • lua-resty-kafka
  • lua-resty-etcd

Security & Auth

  • lua-resty-jwt
  • lua-resty-openidc
  • lua-resty-session
  • lua-resty-acme
  • lua-resty-waf

Performance & Caching

  • lua-resty-lrucache
  • lua-resty-mlcache
  • lua-resty-limit-traffic
  • lua-resty-healthcheck

And 90+ more libraries covering templating, validation, UUID generation, email, file uploads, and more.

Browse Full Library Catalog

OpenResty Gives You Lua. GetPageSpeed Gives You Everything.

100+ additional NGINX dynamic modules beyond Lua scripting

Google PageSpeed Automatic frontend optimization
Brotli Next-gen compression
ModSecurity Web application firewall
GeoIP2 IP geolocation
Headers More Advanced header control
VTS Traffic monitoring
RTMP Media streaming
Cache Purge Selective cache control
njs NGINX JavaScript
JWT Auth Token authentication
NAXSI High-perf WAF
Security Headers Auto security headers
Learn More About NGINX Extras

Common OpenResty Use Cases — Better with GetPageSpeed

Same Lua capabilities, more tools at your disposal

API Gateway

Building an API gateway with Lua? You get the same lua-nginx-module, same cosocket API, same balancer_by_lua_block — plus proper package management for all your lua-resty dependencies.

Recommendation: GetPageSpeed

Web Application Firewall

Combine Lua-based security logic with ModSecurity WAF and NAXSI — modules OpenResty does not include. Layer multiple defense strategies in a single NGINX instance.

Recommendation: GetPageSpeed

Dynamic SSL/TLS (Auto-SSL)

lua-resty-acme works identically. Install it with dnf install lua5.1-resty-acme instead of compiling. Plus you get HTTP/3 and full HPACK encoding.

Recommendation: GetPageSpeed

Custom Authentication

lua-resty-jwt, lua-resty-openidc, lua-resty-session — all available as system packages. Same code, zero compilation, automatic dependency resolution.

Recommendation: GetPageSpeed

Legacy OpenResty Migration

Already running OpenResty in production? Migration is straightforward — your Lua code works unchanged because it is the same lua-nginx-module underneath. Just swap the packages.

Recommendation: GetPageSpeed (drop-in)

Supported Distributions

Native packages for every major Linux distribution

RPM-based (dnf/yum)

  • RHEL 7, 8, 9, 10
  • AlmaLinux 8, 9, 10
  • Rocky Linux 8, 9, 10
  • CentOS 7
  • Amazon Linux 2, 2023
  • Fedora Latest
  • Oracle Linux 8, 9, 10
  • SLES 15, 16

DEB-based (apt)

  • Debian 11, 12
  • Ubuntu 22.04, 24.04

All packages built natively for x86_64 and aarch64 (ARM64).

Ready to Replace OpenResty with Something Better?

Same Lua power. More modules. Latest NGINX. Proper packaging.

Subscribe Now — From $10/mo

Cancel anytime. No contracts. Instant access.

Read the complete NGINX Lua Module guide →

Frequently Asked Questions

Yes, for the Lua functionality. GetPageSpeed provides the same lua-nginx-module that originated from the OpenResty project. Your existing Lua code, configurations, and lua-resty library calls work unchanged. The difference is packaging: instead of a monolithic build, you get individual packages managed by your system package manager.
OpenResty is essentially NGINX bundled with the lua-nginx-module and a set of lua-resty libraries, compiled as a single static build. GetPageSpeed offers the same lua-nginx-module as a dynamic module (.so) that loads into standard NGINX. This means you can combine Lua with 100+ other dynamic modules, always run the latest NGINX version, and manage everything through dnf or apt.
Absolutely. All lua-resty libraries work with any NGINX that has the lua-nginx-module loaded. GetPageSpeed provides 115+ lua-resty libraries as installable system packages (lua5.1-resty-*). Install them with dnf or apt — no OpenResty required. Browse the full library catalog.
Install the GetPageSpeed repository. Install nginx-module-lua and your lua-resty libraries as packages. Copy your existing nginx.conf — it works as-is. Add the load_module directives for NDK and Lua. Your Lua code requires zero changes because it is the same module underneath. See the complete Lua module guide for detailed steps.
OpenResty maintains a fork of NGINX with custom patches. Merging upstream NGINX changes into their fork takes time. GetPageSpeed builds modules against upstream NGINX releases directly, so you get the latest NGINX stable and mainline within hours of release, including all security patches.
The lua-nginx-module (also called ngx_http_lua_module) was originally developed by the OpenResty project and is open source. OpenResty bundles it with NGINX and libraries into a single package. GetPageSpeed ships the exact same module as a standalone dynamic module, giving you the freedom to combine it with any other NGINX modules and always run the latest NGINX.
GetPageSpeed packages 115+ lua-resty libraries compared to OpenResty's approximately 70 bundled ones. Additional libraries include lua-resty-acme (Let's Encrypt), lua-resty-kafka, lua-resty-etcd, lua-resty-openidc (OpenID Connect), lua-resty-healthcheck, and many more. Every library is a separate package with proper dependency tracking. Browse the full catalog.