Lua

Integrate Lua co-routines into the NGINX event-processing model with the community-authored Lua dynamic module.

Prerequisites

  1. Check the Technical Specifications page to verify that the module is supported by your operating system.

  2. Prior to installing the module, verify that the NGINX Developer Kit (NDK) module is already installed.

Installation

Install the Lua module package nginx-plus-module-lua.

For Amazon Linux 2, CentOS, Oracle Linux, and RHEL:

sudo yum update && \
sudo yum install nginx-plus-module-lua

For Amazon Linux 2023, AlmaLinux, Rocky Linux:

sudo dnf update && \
sudo dnf install nginx-plus-module-lua

For Debian and Ubuntu:

sudo apt update && \
sudo apt install nginx-plus-module-lua

For SLES:

sudo zypper refresh && \
sudo zypper install nginx-plus-module-lua

For Alpine:

apk add nginx-plus-module-lua

For FreeBSD:

sudo pkg update && \
sudo pkg install nginx-plus-module-lua

Configuration

After installation, enable and configure the modules in NGINX Plus configuration file nginx.conf.

  1. Enable dynamic loading of NDK and Lua modules with the load_module directives specified in the top-level (“main”) context:

    load_module modules/ndk_http_module.so;
    load_module modules/ngx_http_lua_module.so;
    load_module modules/ngx_stream_lua_module.so;
    
    http {
        # ...
    }
    Note:
    The ndk_http_module.so module must be placed first.
  2. Configure additional settings as needed for the modules. For details, see the lua-nginx-module and stream-lua-nginx-module documentation.

  3. Test the NGINX Plus configuration. In a terminal, type-in the command:

    nginx -t

    Expected output of the command:

    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf is successful
  4. Reload the NGINX Plus configuration to enable the module:

    nginx -s reload

More Info