openResty中lua脚本在nginx中的执行顺序
原英文官网地址: https://github.com/openresty/lua-nginx-module#nginx-api-for-lua
lua代码块在NGINX上执行是有序的。 这也使得用户能够知道写的lua代码会在什么时候执行,以及会得到什么样的结果。以下图片表示LUA代码被执行的顺序。
-
lua_load_resty_core
语法规则: lua_load_resty_code on|off
默认配置:lua_load_resty_code on
适用范围: http
该指令在v0.10.16之后的版本就被废弃了, 在之后的版本指令都会强制在LUA VM启动的时候加载进去。
-
lua_capture_error_log
语法规则:lua_capture_error_log size
默认配置:none
适用范围: http
示例说明: lua_capture_error_log 4k
该指令会申请一个特定的缓存空间来存放错误消息日志(不仅仅是该模块的错误日志或NGINX子系统的错误日志,而是所有的错误日志)。根据经验, 一个4kb缓存空间可以存放大概20个错误消息日志。
缓存空间大小在初始化的时候被定义,且在之后运行过程中其大小不会发生变化。 如果缓存空间满了,那么,老的错误消息日志会被新的错误消息日志替代。
所有,你只需要确保定义的缓存空间大于最大的错误消息日志大小。
我们可以通过get_log()方法读取错误消息日志(需要引入ngx.errorlog模块), 该方法会获取缓存空间中的错误信息,且读取的信息会从缓存中清除。
-
lua_use_default_type
语法规则: lua_use_default_type on|off
默认配置: lua_use_default_type on
适用范围: http, location, server location if
选择
-
其他