热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Nginx开发从入门到精通

:本篇文章主要介绍了Nginx开发从入门到精通,对于PHP教程有兴趣的同学可以参考一下。
访问连接:Nginx开发从入门到精通

上篇:nginx模块开发篇
    背景介绍
        nginx历史
        使用简介
        nginx特点介绍
    nginx平台初探(100%)
        初探nginx架构(100%)
        nginx基础概念(100%)
            connection
            request
        基本数据结构(99%)
            ngx_str_t(100%)
            ngx_pool_t(100%)
            ngx_array_t(100%)
            ngx_hash_t(100%)
            ngx_hash_wildcard_t(100%)
            ngx_hash_combined_t(100%)
            ngx_hash_keys_arrays_t(100%)
            ngx_chain_t(100%)
            ngx_buf_t(99%)
            ngx_list_t(100%)
            ngx_queue_t(100%)
        nginx的配置系统(100%)
            指令概述
            指令参数
            指令上下文
        nginx的模块化体系结构
        模块概述
            模块的分类
        nginx的请求处理
            请求的处理流程
    handler模块(100%)
        handler模块简介
        模块的基本结构
            模块配置结构
            模块配置指令
            模块上下文结构
            模块的定义
        handler模块的基本结构
        handler模块的挂载
            按处理阶段挂载
            按需挂载
        handler的编写步骤
        示例: hello handler 模块
        handler模块的编译和使用
            config文件的编写
            编译
            使用
        更多handler模块示例分析
            http access module
            http static module
            http log module
    过滤模块 (90%)
        过滤模块简介 (90%)
            执行时间和内容 (90%)
            执行顺序 (90%)
            模块编译 (90%)
        过滤模块的分析 (90%)
            相关结构体 (90%)
            响应头过滤函数 (90%)
            响应体过滤函数 (90%)
    upstream模块
        upstream模块 (100%)
            upstream模块接口
            memcached模块分析
            本节回顾
        负载均衡模块 (100%)
            配置
            指令
            钩子
            初始化配置
            初始化请求
            peer.get和peer.free回调函数
            本节回顾
    其他模块 (40%)
        core模块 (40%)
            Nginx的启动模块 (40%)
        event模块 (40%)
            event的类型和功能 (40%)
            accept锁 (40%)
            定时器 (40%)
        mail模块
            mail模块的实现
            mail模块的功能
    模块开发高级篇(30%)
        变量(80%)
            综述
            创建变量
            使用变量
        upstream
            使用subrequest访问upstream
            超越upstream
        使用lua模块
下篇:nginx原理解析篇
    高性能服务器设计
        c10k问题
        高性能服务器编写的关键原则
        事件驱动的核心引擎
        定时器管理
    nginx架构详解(50%)
        nginx的源码目录结构(100%)
        nginx的configure原理(100%)
            auto脚本
            模块编译顺序
        nginx的事件机制
            event框架及非阻塞模型
            定时器实现
            信号处理
            惊群问题
        nginx的进程机制
            master进程
            worker进程
            进程间通讯
    nginx基础设施
        内存池
            简介:
            结构:
            实现:
        共享内存
            slab算法
        buffer管理
            buffer重用机制
            buffer防拷贝机制
        chain管理
            chain重用机制
        aio原理
        锁实现
        基本数据结构
        时间缓存
        文件缓存
        log机制
    nginx的启动阶段 (30%)
        概述 (100%)
        共有流程 (100%)
            配置解析接口 (100%)
        配置解析
            通用过程 (100%)
            http的解析
            server的管理
            location的管理
        模块初始化
        热代码部署
            reload过程解析
            upgrade过程解析
    nginx的请求处理阶段 (90%)
        接收请求流程 (99%)
            http请求格式简介 (99%)
            请求头读取 (99%)
            请求体读取(100%)
        多阶段处理请求
            多阶段执行链
            POST_READ阶段
            SERVER_REWRITE阶段
            FIND_CONFIG阶段
            REWRITE阶段
            POST_REWRITE阶段
            PREACCESS阶段
            ACCESS阶段
            POST_ACCESS阶段
            TRY_FILES阶段
            CONTENT阶段
            LOG阶段
        Nginx filter
            header filter分析
            body filter分析
        subrequest原理解析 (99%)
        https请求处理解析
            nginx支持ssl简介
            ssl连接建立(ssl握手)
    nginx的upstream原理解析
        无缓冲的处理流程
        带缓冲的处理流程
        subrequest访问upstream的处理流程
        负载均衡算法
            round-robin算法
            基于ip的hash算法
        upstream缓存机制
        常用upstream模块分析
            proxy模块
            fastcgi模块
    nginx的script处理
        正则表达式
        变量
        复杂变量
        if的处理
附录A 编码风格 (100%)
    Nginx代码风格图示 (100%)
附录B 常用API
    B.1 字符串操作
    B.2 读取请求体
    B.3 操作请求头
    B.4 取参数
    B.5 URI处理
    B.6 buffer操作
    B.7 变量操作
    B.8 日志输出
    B.9 配置解析接口
    B.10 文件操作
    B.11 锁操作
附录C 模块编译,调试与测试
    C.1 编译与安装
        环境要求
        下载
        Nginx在Windows环境下安装
        Nginx在Linux环境下安装
        测试
        Nginx在Windows环境下查看nginx进程
        Nginx在Linux环境下查看nginx进程
    C.2 调试日志
        一,开启调试日志:
        二,日志级别分析:
        三,日志格式设置:
        四,调试日志的几个注意点:
    C.3 使用GDB调试
    C.4 功能测试
    C.5 性能/压力测试
    C.6 常见缺陷分析

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('
  • ').text(i)); }; $numbering.fadeIn(1700); }); });

    以上就介绍了Nginx开发从入门到精通,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

  • 推荐阅读
    • 实战项目memcached+tomcat+session+nginx在工作中的应用和配置
      环境介绍:公司根据实际需要搭建一个购物网站,当用户购物时可以将不同商品,放到同一个购物车中进行同时付款。环境的搭建:外网用户IP地址:1.1.1.1主机名:fanxiaohui用户 ... [详细]
    • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
    • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
      本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
    • Nginx Buffer 机制引发的下载故障
      Nginx ... [详细]
    • 对于WEB应用集群的技术实现而言,最大的难点就是如何能在集群中的多个节点之间保持数据的一致性,会话(Session)信息是这 ... [详细]
    • nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
    • 相对于内存来说,磁盘的容量是非常大的,所以Linux内核实现了一个叫 内存交换 的功能--把某些进程的一些暂时用不到的内存页保存到磁盘中,然后把物理内存页分配给更紧急的用户使用,当 ... [详细]
    • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
    • 护墙_搭建LVS负载均衡NAT和DR模式
      篇首语:本文由编程笔记#小编为大家整理,主要介绍了搭建LVS负载均衡NAT和DR模式相关的知识,希望对你有一定的参考价值。 ... [详细]
    • 在单位的一台4cpu的服务器上部署了esxserver,挂载了6个虚拟机,目前运行正常。在安装部署过程中,得到了cnvz.net论坛精华区 ... [详细]
    • 开发笔记:Memcached高性能内存对象缓存系统
      篇首语:本文由编程笔记#小编为大家整理,主要介绍了Memcached高性能内存对象缓存系统相关的知识,希望对你有一定的参考价值。一、Memcached概述 ... [详细]
    • 一,织梦后台后台设置进入系统后台,在[系统基本参数]下面的性能选项卡当中,关于memcache进行如下配置:cfg_memcache_enable:是否启用memcache缓存,如果为否(N) ... [详细]
    • 基于内存和 Redis 的两级 Java 缓存框架!
      👇👇关注后回复“进群”,拉你进程序员交流群👇👇Java两级缓存框架,可以让应用支持两级缓 ... [详细]
    • 转自:MSMIntroduction如果为了简单使用,你只需要安装一个tomcat(6或者7)和memcached,在生产环境中可能会有多台tomcat服务器以及多台可用的memc ... [详细]
    • 开发笔记:ansible角色调用
      本篇博客仅供学习,没有实际项目意义,仅供学习之用实验目的:配置中心服务器自动配置两台机器分别部署为n ... [详细]
    author-avatar
    一根吃兔子的萝卜
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有