Integrating with Lua
Using NGINX with ngx_lua
can help you write more performant applications. Instead of passing logic to an upstream server, Lua can handle this processing. The ngx_lua
module can be invoked at different phases of NGINX request processing.
Many of the ngx_lua
configuration directives directly reference the phase of the request that they affect. For instance, there will be init_by_lua
, init_worker_by_lua
, content_by_lua
, rewrite_by_lua
, access_by_lua
, header_filter_by_lua
, body_filter_by_lua
, and log_by_lua
to do something with Lua at that phase of the request. Depending on where in the request processing chain you want to use Lua, you use the corresponding directive.
Loading a Lua script to handle a request involves using the lua_package_path
directive to specify the location in which to find the script, and then using the appropriate _by_lua
directive to execute the script:
lua_package_path "$prefixlib/?.lua;;"; server { location / { content_by_lua_block...