我的理解Openresty = Nginx + ngxhttp_lua_module + lua_resty*;它是一个原生Nginx合上一个HTTP_LUA模块,在加上一系列Lua_resty模块组成的一个Ngx_Lua高性能服务生态。

    Openresty处理HTTP请求的执行阶段

    • set_by_lua
    • content_by_lua
    • rewrite_by_lua
    • access_by_lua
    • header_filter_by_lua
    • log_by_lua

    有同学会发现,Openresty所提供的LUA解析指令还有以下两个:

    • init_by_lua
    • init_worker_by_lua
      作用在配置加载阶段,init_worker_by_lua作用在worker进程初始化阶段,并非HTTP请求处理阶段。

    logs/development-error.log截取

    1. set_by_lua:1: =======>set
    2. rewrite_by_lua(development-nginx.conf:31):1: =======>rewrite
    3. header_filter_by_lua:1: =======>header_filter
    4. body_filter_by_lua:1: =======>body_filter
    5. body_filter_by_lua:1: =======>body_filter
    6. body_filter_by_lua:1: =======>body_filter
    7. body_filter_by_lua:1: =======>body_filter
    8. log_by_lua(development-nginx.conf:35):1: =======>log while logging request