openresty 提供的几个新的生命周期阶段指令

2022/5/1 23:21:04

本文主要是介绍openresty 提供的几个新的生命周期阶段指令,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

实际上这几个指令很早就有了,只是最近在重新学习openresty 的时候发现的

exit_worker_by_lua_*

在每次nginx worker 进程退出的时候执行,当master 进行禁用的时候,这个钩子会在nginx 进程退出之前执行
主要的场景是进行资源释放,以及worker 非正常退出

server_rewrite_by_lua_*

在server rewrite 阶段的处理,对于每个请求都会执行,同时也会包含时候是子请求状态,同时我们也可以调用暴露的
lua api,注意会使用独立的协程(类似沙箱环境)对于共享的可以使用ctx 以及shared 字典,或者db
注意如果为了退出当前请求,ngx.exit(ngx.OK) 是不起作用的,需要使用ngx.exit 对于状态码泗洪>=200 <300 代表正常,ngx.exit(ngx.HTTP_INTERNAL_SERVER_ERROR)
表示执行失败

说明

以上几个新指令还是比较有用的,很值得尝试下

参考资料

https://github.com/openresty/lua-nginx-module#exit_worker_by_lua_block



这篇关于openresty 提供的几个新的生命周期阶段指令的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程