Next: Hudobný server so zvukom cez Bluetooth, Previous: Získavanie náhrad prostredníctvom Tor, Up: Nastavenie systému [Contents][Index]
NGINX možno rozšíriť pomocou Lua skriptov.
Guix poskytuje NGINX službu so schopnosťou načítať Lua moduly a určité Lua balíky ako aj odpovedať na požiadavky vyhodnocovaním Lua skriptov.
Nasledovný príklad znázorňuje zadanie systému s nastavením, ktoré vyhodnotí Lua skript index.lua pri HTTP požiadavke na koncový bod http://localhost/ahoj:
local shell = require "resty.shell" local stdin = "" local timeout = 1000 -- ms local max_size = 4096 -- byte local ok, stdout, stderr, reason, status = shell.run([[/run/current-system/profile/bin/ls /tmp]], stdin, timeout, max_size) ngx.say(stdout)
(use-modules (gnu)) (use-service-modules #;… web) (use-package-modules #;… lua) (operating-system ;; … (services ;; … (service nginx-service-type (nginx-configuration (modules (list (file-append nginx-lua-module "/etc/nginx/modules/ngx_http_lua_module.so"))) (lua-package-path (list lua-resty-core lua-resty-lrucache lua-resty-signal lua-tablepool lua-resty-shell)) (lua-package-cpath (list lua-resty-signal)) (server-blocks (list (nginx-server-configuration (server-name '("localhost")) (listen '("80")) (root "/etc") (locations (list (nginx-location-configuration (uri "/ahoj") (body (list #~(format #f "content_by_lua_file ~s;" #$(local-file "index.lua"))))))))))))))