我现在正在使用 nginx 在 Lua 中编程。我编写我的 Lua 文件并将其放在/usr/local/nginx/lua
. 然后在nginx.conf
我写一个位置,比如
location /lua {
lua_need_request_body on;
content_by_lua_file lua/test.lua;
}
当我通过 Nginx 访问这个位置时,会执行 Lua 脚本。
在 Lua 文件中,通常可以包含您自己的 Lua 模块,并指明搜索路径
common_path = '../include/?.lua;'
package.path = common_path .. package.path
在常见的 Lua 编程中,相对路径是相对于我的 Lua 文件的。
但是对于 nginx,相对路径是相对于我启动 Nginx 的目录。
就像,我在/usr/local/nginx
并执行sbin/nginx
,然后在 Luapackage.path
中将是/usr/local/include
.
如果我在/usr/local/nginx/sbin
并执行./nginx
,那么在 Luapackage.path
中将是/usr/local/nginx/include
。
我觉得我启动nginx服务器的目录应该没有限制,但是不知道怎么解决。