ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-05-01 20:03:18  阅读:210  来源: 互联网

标签:生命周期 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. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有