nginx框架 摘录

来源:互联网 发布:路由器网络参数设置 编辑:程序博客网 时间:2024/05/01 10:47

    nginx启动的过程是一个master主进程+多个worker子进程的工作模式 ,nginx主进程启动的过程中会按照初始化master、初始化模块、初始化工作进程、(初始化线程、退出线程)、 退出工作进程、退出master顺序进行,而在这些子过程内部和子过程之间,又会有读取配置、创建配置、初始化配置、合并配置、http解析、http过 滤、http输出、http代理等过程,在这些过程开始前后、过程中、结束前后等时机,nginx调用合适的模块接口(各个模块通过一些方式注册到系统内的回调函数)完成特定的任务。


    每个模块都会有一个对应的ngx_module_t结构体

   ngx_module_t的ctx成员是每个模块的上下文,所谓的上下文,也就是这个模块究竟可以做什么,模块的上下文是四种,分别用四个结构体表 示:ngx_core_module_t、ngx_event_module_t、ngx_http_module_t、 ngx_mail_module_t。也就是说,如果一个模块属于core分类,那么其上下文就是ngx_core_module_t结构的变量

    Nginx配置文件主要分成四部分:main(全局设置)、server(主机设置)、upstream(上游服务器设置)和 location(URL匹配特定位置后的设置)。每部分包含若干个指令。main部分设置的指令将影响其它所有设置;server部分的指令主要用于指定主机和端口;upstream的指令用于设置一系列的后端服务器;location部分用于匹配网页位置。他们之间的关系式:server继承main,location继承server;upstream既不会继承指令也不会被继承。它有自己的特殊指令,不需要在其他地方的应用

     Nginx的模块有三种角色: 

    * handlers 处理http请求并构造输出
    * filters 处理handler产生的输出
    * load-balancers 当有多于一个的后端服务器时,选择一台将http请求发送过去