自动摘要
正在生成中……
如果你想在 OpenResty 中指定多个 Lua 模块路径,可以通过 lua_package_path
指令,并用分号(;
)分隔多个路径。具体格式如下:
lua_package_path "/path/to/first/module/?.lua;/path/to/second/module/?.lua;;";
-
每个路径用分号分隔。
-
最后加上
;;
,这表示在查找模块时会默认添加 Lua 的内置模块搜索路径。这个部分建议保留。
示例:
假设你有两个 Lua 模块路径:
-
/opt/lua-resty-limit-traffic/lib/
-
/usr/local/share/lua/5.1/
可以这样配置:
lua_package_path "/opt/lua-resty-limit-traffic/lib/?.lua;/usr/local/share/lua/5.1/?.lua;;";
这样 OpenResty 会先从 /opt/lua-resty-limit-traffic/lib/
中查找 Lua 模块,如果找不到再去 /usr/local/share/lua/5.1/
中查找,最后默认查找 Lua 内置路径。
其他相关指令:
-
lua_package_cpath
:用于设置 C 库的搜索路径,类似于 lua_package_path
,但用于加载 .so
文件等 C 模块。
lua_package_cpath "/path/to/first/cmodule/?.so;/path/to/second/cmodule/?.so;;";
这两个指令可以一起使用,分别指定 Lua 模块和 C 模块的加载路径。