Ora sto programmando in Lua con nginx. Scrivo il mio file Lua e lo metto in una directory in /usr/local/nginx/lua
. Poi nel nginx.conf
scrivo una posizione, ad esempioPercorso pacchetto Lua in nginx
location /lua {
lua_need_request_body on;
content_by_lua_file lua/test.lua;
}
Quando accedo questa posizione attraverso Nginx, sarà eseguito lo script Lua.
In un file Lua, uno di solito può includere il proprio modulo di Lua, e indicare il percorso di ricerca
common_path = '../include/?.lua;'
package.path = common_path .. package.path
Nel comune di programmazione Lua, un percorso relativo è relativo al mio file Lua.
Ma con nginx, i percorsi relativi sono relativi alla directory in cui comincio Nginx.
Come, io sono in /usr/local/nginx
ed eseguire sbin/nginx
, poi in Lua package.path
sarà il /usr/local/include
.
Se sono in /usr/local/nginx/sbin
ed eseguo ./nginx
, quindi in Lua package.path
sarà /usr/local/nginx/include
.
Penso che la directory che avvio il server nginx non dovrebbe essere limitata, ma non so come risolvere questo problema.
Si sta utilizzando HttpLuaModule? Se è così, forse è necessario impostare lua_package_path e/o lua_package_cpath [vedi doc] (http://wiki.nginx.org/HttpLuaModule#lua_package_path) – Mali
Sì, ho visto l'API, ma il percorso e cPath è relazionarsi con il '/', dubito che ci siano altri metodi che possono rendere il percorso correlato alla directory nginx – freedoo