《用OpenResty搭建高性能服务端》笔记 (5)

下面这个图是 ngx_lua 各个指令的执行顺序。

《用OpenResty搭建高性能服务端》笔记

执行阶段说明:

set_by_lua*: 流程分支处理判断变量初始化

rewrite_by_lua*: 转发、重定向、缓存等功能(例如特定请求代理到外网)

access_by_lua*: IP 准入、接口权限等情况集中处理(例如配合 iptable 完成简单防火墙)

content_by_lua*: 内容生成

header_filter_by_lua*: 响应头部过滤处理(例如添加头部信息)

body_filter_by_lua*: 响应体过滤处理(例如完成应答内容统一成大写)

log_by_lua*: 会话完成后本地异步完成日志记录(日志可以记录在本地,还可以同步到其他机器)

由于 Nginx 把一个请求分成了很多阶段,这样第三方模块就可以根据自己行为,挂载到不同阶段进行处理达到目的。不同的阶段,有不同的处理行为,理解了他,也能更好的理解 Nginx 的设计思维。

总结与自学

1、如何自学
《OpenResty最佳实践》
2、遇到问题怎么办
1) 看 nginx 的error.log
2) 疑难问题把可复现信息在官方邮件组里反馈
3) 善用Google
4) QQ交流群

《用OpenResty搭建高性能服务端》笔记

参考

1、OpenResty® - 中文官方站
https://openresty.org/cn/
2、openresty/lua-nginx-module: Embed the Power of Lua into NGINX HTTP servers

3、FFI Library

4、luajit FFI简单使用(1) - Abel's Blog - CSDN博客
https://blog.csdn.net/erlang_hell/article/details/52836467
5、OpenResty最佳实践
https://moonbingbing.gitbooks.io/openresty-best-practices/

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpwzwd.html