欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    Nginx源码分析与导读.ppt

    • 资源ID:2389182       资源大小:1.62MB        全文页数:51页
    • 资源格式: PPT        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Nginx源码分析与导读.ppt

    Nginx源代码分析与导读,核心系统研发-叔度2010-03-26,目录,源码结构重要概念与基础设施事件驱动架构HTTP处理流程邮件代理流程,Nginx源码结构,代码量大约11万行C代码源代码目录结构core(主干和基础设置)event(事件驱动模型和不同的IO复用模块)http(HTTP服务器和模块)mail(邮件代理服务器和模块)os(操作系统相关的实现)misc(杂项),Nginx架构特点,非阻塞事件驱动单线程IO复用一个主进程和少量工作进程高度模块化,目录,源码结构重要概念与基础设施事件驱动架构HTTP处理流程邮件代理流程,内存池,作用简化内存管理避免内存碎片避免内存泄露分类生命周期全局连接请求大小,内存池布局图示一,内存池布局图示二,缓冲区管理,缓冲区对象指针内存文件重要的标志位last_buflast_in_chainflushin_filememory,缓冲区管理(2),缓冲链缓冲区的一个单链表高级输出链in/free/busyoutput filtercontext,字符串操作,基本类型 ngx_str_tNginx自己的字符串API内存操作相关字符串格式化字符串查找格式转换Base64/URL/UTF-8字符串和数字之间的转换,数据结构,基本的ADT数组链表队列hash表红黑树Radix树特点先添加,再设置按块分配内存,日志操作,错误日志等级调试访问日志日志格式多日志location相关轮转,配置文件,指令名称类型设置函数offset解析过程值的初始化与合并,配置文件(2),块 events/http/server/upstream/location变量$内置的自定义的,目录,源码结构重要概念与基础设施事件驱动架构HTTP处理流程邮件代理流程,主进程和工作进程,主进程(master)监视工作进程的状态当工作进程死掉后重启一个新的处理信号和通知工作进程工作进程(worker)处理客户端请求从主进程处获得指令做相应的事情,主进程和工作进程(2),处理流程示意图,主进程的处理流程,工作进程的处理流程,进程间通信方式,信号频道socketpair命令共享内存统计原子操作与自旋锁互斥量,事件类型,基本数据结构ngx_event_t读、写超时回调函数处理方式立即邮递,时间缓存,避免多余的gettimeofday(2)缓存内容时间值格式化后的时间字符串时间精度与更新频率轮询后刷新定期更新,事件和计时器处理流程,计时器的实现,动作添加删除获得最小值用红黑树实现复杂度O(log n),工作进程之间的协调,多核利用CPU亲缘性惊群问题缘由解决方案锁延迟,工作进程之间的协调(2),Accept互斥量,IO复用模型,系统相关的IO接口水平触发(NGX_USE_LEVEL_EVENT)selectpollevent port边缘触发(NGX_USE_CLEAR_EVENT)kqueueepoll,高级IO的使用,系统特性sendfilewritevO_DIRECTmmapAIOTCP/IP选项TCP_CORKTCP_NODELAYTCP_DEFER_ACCEPT,重新加载配置的流程,热代码更新,目录,源码结构重要概念与基础设施事件驱动架构HTTP处理流程邮件代理流程,重要的数据结构,连接(ngx_connection_t)HTTP连接(ngx_http_connection_t)HTTP请求(ngx_http_request_t)uriheaders,Virtual Server,重要信息ngx_http_core_srv_conf_t定位流程,位置(location),location树纯文本正则表达式location专属配置命名的location,HTTP上下文,作用域分类mainserverlocation获取方式ngx_http_get_module_main_confngx_http_get_module_srv_confngx_http_get_module_loc_conf设置方式ngx_http_get_module_ctxngx_http_set_ctx,HTTP处理过程,接收数据分析请求找到对应的virtual server找到对应的location执行phase处理器产生response内容过滤header过滤body将输出发送给客户端,请求分析过程,阶段请求行头部技巧状态机ngx_strX_cmp函数,Phase和处理器,Phase种类POST_READSERVER_REWRITEFIND_CONFIGREWRITEPOST_REWRITEPREACCESSACCESSPOST_ACCESSTRY_FILESCONTENTLOG处理器(动作表)checkerhandlernext,Phase和处理器,过滤器链,单链表只过滤输出header过滤器body过滤器输出ngx_http_send_headerngx_http_output_filterngx_http_header_filterngx_http_copy_filterngx_http_write_filter,过滤器链举例,HTTP处理流程举例,静态文件curl-i http:/localhost/,Keep-alive的处理,重用内存连接的内存收缩终结超时请求次数,子请求(subrequest),需求与原理例子addion filterSSI filter,内部重定向,返回一个与请求不一样的URL举例try_filesindex/random_indexpost_actionsend_error_pageupstream_process_headers,Upstream机制,钩子防止进程阻塞在某处(同步-异步)模块FastCGIProxyMemcached,目录,源码结构重要概念与基础设施事件驱动架构HTTP处理流程邮件代理流程,邮件反向代理,POP3/SMTP/IMAP图示,邮件反向代理(2),会话命令处理包交换可以做的事情负载均衡验证重写黑白名单,谢谢!,

    注意事项

    本文(Nginx源码分析与导读.ppt)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开