Openresty资料之配置指令

本文介绍了OpenResty的两个重要指令。lua_package_path/lua_package_cpath用于确定Lua库和so库查找路径,可使用特殊变量“$prefix”,安装时已内置查找目录。lua_code_cache可启用Lua代码缓存,默认值为on,调试时可设为off,但对部分代码无效,仍需“-s reload”。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

◆ lua_package_path/lua_package_cpath

这两个指令以字符串的形式确定Lua库和so库的查找路径,文件名使用“?”作为通配符,多个路径使用“;”分隔,默认的查找路径用“;;”

指令里还可以使用特殊变量“$prefix”,表示OpenResty 启动时的工作目录(即“-p ”参数指定的目录)

lua_package_path "$prefix/service/?.lua;;";
lua_package_cpath "$prefix/service/lib/?.so;;";

我们不需要在指令里刻意指定OpenResty 的安装目录,这是因为在安装时OpenResty己经默认内置了自己的查找目录:

/usr/local/openresty/lualib/?.lua
/usr/local/openresty/site/lualib/?.lua
/usr/local/openresty/lualib/?.so
/usr/local/openresty/site/lualib/?.so

◆ lua_code_cache on I off

这个指令会启用OpeηRe sty 的Lua 代码缓存功能,源码文件里的Lua 代码被LuaVM 加载后就被缓存起来,仅会读取一次,减少了磁盘读写也就加快了运行速度。lua_code_cache的默认值是on,通常不建议使用off关闭,这将大大降低Ope nResty的性能。只有在一种情况下可以设置为off ,那就是调试程序的时候。

在调试时我们会经常修改Lua 代码,如果lua_code_cache是on状态,因为代码已经在应用启动时读取并缓存,修改后的代码就不会被OpenResty 载入,修改也不会生效,只能使用“-s reload ”的方式强制让OpenResty重新加载代码。如果修改的比较频繁,那么反复这样的操作就很麻烦,把缓存关闭可以让OpenResty每次处理请求时自动载入修改后的代码,节约一些调试的时间。

但lua_code_cache off 用在调试时也有一些限制,它对直接写在配置文件里的Lua代码,或者被“ init_by_lua_file/init_worker_by_lua_file”加载的Lua 代码无效(都是在启动时一次性加载的),这时仍然要使用“-s reload ”的方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值