OpenResty---基础功能
OpenResty 使用的编程语言是 Lua ,但 Lua 自身的功能集很小,仅凭它不足以开发出复杂的 Web 应
用。
OpeηResty 充分利用了 Lua 的高度灵活的扩展能力,通过 ngx_lua / stream_lua 模块挖掘出
许多 Nginx 平台内部的功能,并包装为简单易用的接口,让我们能够在 Lua 脚本里轻松自如地操纵强大
的 Nginx 服务器 。
content_by_lua_block
OpenResty提供一个专用指令 content_by_lua_block ,可以在配置文件里书写Lua代码,产生响应内
容:
配置命令
lua_package_path/lua_package_cpath
这两个指令是运行OpenResty应用的关键,他们以字符串的形式确定Lua库和so库的查找路径,文
件名使用 ? 作为通配符,多个路径使用 ; 分隔,默认的查找路径用 ;; 。
指令里还可以使用特殊变量 $prefix ,表示OpenResty启动时的工作目录(即 -p 参数指定的目
录),这样就可以不使用绝对路径配置更加灵活。例如:
上面的指令告诉OpenResty在工作目录的service里查找Lua库和*.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 | off
这个指令会启用OpenResty的Lua代码缓存功能,源码文件里的lua代码被LuaVM加载后就被缓存
起来,仅会读取一次,减少了磁盘读写也就加快了运行速度。
lua_code_cache默认值为on,通常不建议使用off关闭,这将大大降低OpenResty的性能。只有在
调试程序的时候才设置为off。
文档被以下合辑收录
评论