暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
OpenResty学习笔记.pdf
319
47页
1次
2022-11-11
5墨值下载
OpenResty---基础功能
OpenResty 使用的编程语言是 Lua ,但 Lua 自身的功能集很小,仅凭它不足以开发出复杂的 Web
用。
OpeηResty 充分利用了 Lua 的高度灵活的扩展能力,通过 ngx_lua / stream_lua 模块挖掘出
许多 Nginx 平台内部的功能,并包装为简单易用的接口,让我们能够在 Lua 脚本里轻松自如地操纵强大
Nginx 服务器
content_by_lua_block
OpenResty提供一个专用指令 content_by_lua_block ,可以在配置文件里书写Lua代码,产生响应内
容:
配置命令
lua_package_path/lua_package_cpath
这两个指令是运行OpenResty应用的关键,他们以字符串的形式确定Lua库和so库的查找路径,文
件名使用 ? 作为通配符,多个路径使用 ; 分隔,默认的查找路径用 ;;
指令里还可以使用特殊变量 $prefix ,表示OpenResty启动时的工作目录(即 -p 参数指定的目
录),这样就可以不使用绝对路径配置更加灵活。例如:
上面的指令告诉OpenResty在工作目录的service里查找Lua库和*.so库。
我们不需要再指令里可以指定OpenResty的安装目录,这是因为在安装时OpenResty已经默认内置了自
己的查找目录,即:
/usr/local/openresty/lualib/?.lua
/usr/local/openresty/site/lualib/?.lua
/usr/local/openresty/lualib/?.so
/usr/local/openresty/site/lualib/?.so
lua_code_cache on | off
这个指令会启用OpenRestyLua代码缓存功能,源码文件里的lua代码被LuaVM加载后就被缓存
起来,仅会读取一次,减少了磁盘读写也就加快了运行速度。
lua_code_cache默认值为on,通常不建议使用off关闭,这将大大降低OpenResty的性能。只有在
调试程序的时候才设置为off
content_by_lua_block {
 ngx.print("hello, world")
}
lua_package_path"$prefix/service/?.lua;;";
lua_package_cpath "$prefix/service/lib/?.so;;";
lua_code_cache off 用在调试时也有一些限制,它对直接写在配置文件里的Lua代码,或者被
init_by_lua_file/init_worker_by_lua_file 加载的lua代码无效(都是在启动时一次性加载
的),这时仍然要使用 -s reload 的方式。
运行机制【!!!
OpenResty基于Nginx,把Web服务的整个生命周期请求处理流程清晰地划分出了若干个阶段
Phase
处理阶段
一个web服务的生命周期可以分成三个阶段
initing:服务启动,工作通常是读取配置文件,初始化内部数据结构;
running:服务运行,接受客户端的请求,返回响应结果;
exiting:服务停止,做一些必要的清理工作,如关闭监听端口。
OpenResty目前关注的是initingrunning这两个阶段,并做了更细致的划分。
==initing==阶段在OpenResty里分为三个子阶段:
configuration:读取配置文件,解析配置指令,设置运行参数;
master-initing:配置文件解析完毕,master进程初始化公用的数据;
worker-initingworker进程自己的初始化,进程专用的数据。
==running==阶段,收到客户端请求后,OpenResty对每个请求都会使用一个专门的 流水线 顺序
进行处理, 流水线 上就是OpenResty定义的处理阶段,包括:
ssl SSL/TLS安全通信和验证;
preread:在正式处理之前预读数据,接受HTTP请求头;
rewrite:检查、改写URI,实现跳转/重定向;
access:访问权限控制;
content:产生响应内容;
filter:对content阶段产生的内容进行过滤加工处理;
log:请求处理完毕,记录日志,或者其他的收尾工作。
of 47
5墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文档被以下合辑收录

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜