标签:生命周期 nginx worker lua 指令 exit openresty ngx
实际上这几个指令很早就有了,只是最近在重新学习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
标签:生命周期,nginx,worker,lua,指令,exit,openresty,ngx 来源: https://www.cnblogs.com/rongfengliang/p/16213810.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。