魏长东

weichangdong

lua lua

1、ngx.get_phase

Syntaxstr=ngx.get_phase()

Context init_by_lua*, init_worker_by_lua*, ssl_certificate_by_lua*, set_by_lua*, rewrite_by_lua*, access_by_lua*, content_by_lua*, header_filter_by_lua*, body_filter_by_lua*, log_by_lua*, ngx.timer.*, balancer_by_lua*

指令功能:返回当前运行的阶段名字。

init上下文为init_by_luainit_by_lua_file

init_worker上下文为init_worker_by_luainit_worker_by_lua_file

ssl_cert上下文为ssl_certificate_by_lua_block  ssl_certificate_by_lua_file

set上下文为 set_by_lua set_by_lua_file

rewrite上下文为rewrite_by_lua  rewrite_by_lua_file

balancer上下文为balancer_by_lua_block balancer_by_lua_file

access上下文为access_by_lua  access_by_lua_file

content上下文为content_by_lua content_by_lua_file

header_filter上下文为body_filter_by_lua body_filter_by_lua_file

body_filter上下文为log_by_lualog_by_lua_file

log上下文为log_by_lua log_by_lua_file

timer上下文为使用ngx.timer的回调函数;

 

2、lua_package_path

syntaxlua_package_path app/lib/?.lua;app/etc/?.lua;

default:编译时的lua_path

contexthttp

examplelua_package_path "$prefix/app/lib/?.lua;$prefix/app/etc/?.lua;$prefix/app/src/?.lua;;";

指令功能:指明lua库的位置,一般是.lua,在nginx配置里可以直接调用,而不用指定目录。


3、lua_package_cpath

syntaxlua_package_path app/lib/?.so;app/etc/?.so;

default:编译时的lua_cpath

contexthttp

examplelua_package_cpath "$prefix/app/lib/?.so;$prefix/../luajit/lib/lua/5.1/?.so;;";

指令功能:指明lua C库的位置,一般是.so,在nginx配置里可以直接调用,而不用指定目录。


4、lua_max_running_timers

Syntaxlua_max_running_timers <count>

Defaultlua_max_running_timers 256

Contexthttp

Examplelua_max_running_timers 512;

指令功能:设置running timers(回调函数还在运行的timer)的最大值。


5、lua_max_pending_timers

Syntaxlua_max_pending_timers <count>

Defaultlua_max_pending_timers 1024

Contexthttp

Examplelua_max_running_timers 512;

指令功能:设置pending timers(还未过期的timer)的最大值。


6、lua_check_client_abort

syntaxlua_check_client_abort on|off;

default:  off

contexthttp/server/location/location-if

examplelua_check_client_abort on

指令功能:控制是否检查premature client connection abortion,如果打开该选项,当client过早关闭连接时,会清除所有的lualight threads”。


7、lua_socket_log_errors

Syntaxlua_socket_log_errors on|off

Defaultlua_socket_log_errors on

Contexthttp/server/location

Examplelua_socket_log_errors off;

指令功能:在发生TCPUDP cosocket错误时,该指令可以切换错误的日志记录方式,如果已经有合适的处理方式,该指令相当于off,否则就会记录到error log(比较消耗性能)。


8、lua_http10_buffering

Syntaxlua_http10_buffering on|off

Defaultlua_http10_buffering on

Contexthttp/server/location/location-if

Examplelua_http10_buffering off;

指令功能:当请求是HTTP1.0或更老版本时,该指令用于enable/disable 自动的响应缓冲,当响应body特别大时,建议调成off,以免内存消耗过多。


9、lua_shared_dict

syntaxlua_shared_dict <name> <size>

defaultno

contexthttp

examplelua_shared_dict dogs 10m;

指令功能:定义共享内存及大小。