zoukankan      html  css  js  c++  java
  • nginx 模块简介

    nginx模块一般分为5类:核心模块、标准http模块、可选http模块、邮件服务模块、第三方模块。

    其中核心模块和标准http模块在快速编译之后就包含在了nginx中。

    主要看一下核心模块、标准http模块和可选http模块,这些模块都可以在ngx_modules.c中找到

      1 #include <ngx_config.h>
      2 #include <ngx_core.h>
      3 
      4 
      5 
      6 extern ngx_module_t  ngx_core_module;
      7 extern ngx_module_t  ngx_errlog_module;
      8 extern ngx_module_t  ngx_conf_module;
      9 extern ngx_module_t  ngx_events_module;
     10 extern ngx_module_t  ngx_event_core_module;
     11 extern ngx_module_t  ngx_epoll_module;
     12 extern ngx_module_t  ngx_regex_module;
     13 extern ngx_module_t  ngx_http_module;
     14 extern ngx_module_t  ngx_http_core_module;
     15 extern ngx_module_t  ngx_http_log_module;
     16 extern ngx_module_t  ngx_http_upstream_module;
     17 extern ngx_module_t  ngx_http_static_module;
     18 extern ngx_module_t  ngx_http_autoindex_module;
     19 extern ngx_module_t  ngx_http_index_module;
     20 extern ngx_module_t  ngx_http_auth_basic_module;
     21 extern ngx_module_t  ngx_http_access_module;
     22 extern ngx_module_t  ngx_http_limit_conn_module;
     23 extern ngx_module_t  ngx_http_limit_req_module;
     24 extern ngx_module_t  ngx_http_geo_module;
     25 extern ngx_module_t  ngx_http_map_module;
     26 extern ngx_module_t  ngx_http_split_clients_module;
     27 extern ngx_module_t  ngx_http_referer_module;
     28 extern ngx_module_t  ngx_http_rewrite_module;
     29 extern ngx_module_t  ngx_http_proxy_module;
     30 extern ngx_module_t  ngx_http_fastcgi_module;
     31 extern ngx_module_t  ngx_http_uwsgi_module;
     32 extern ngx_module_t  ngx_http_scgi_module;
     33 extern ngx_module_t  ngx_http_memcached_module;
     34 extern ngx_module_t  ngx_http_empty_gif_module;
     35 extern ngx_module_t  ngx_http_browser_module;
     36 extern ngx_module_t  ngx_http_upstream_ip_hash_module;
     37 extern ngx_module_t  ngx_http_upstream_least_conn_module;
     38 extern ngx_module_t  ngx_http_upstream_keepalive_module;
     39 extern ngx_module_t  ngx_http_write_filter_module;
     40 extern ngx_module_t  ngx_http_header_filter_module;
     41 extern ngx_module_t  ngx_http_chunked_filter_module;
     42 extern ngx_module_t  ngx_http_range_header_filter_module;
     43 extern ngx_module_t  ngx_http_gzip_filter_module;
     44 extern ngx_module_t  ngx_http_postpone_filter_module;
     45 extern ngx_module_t  ngx_http_ssi_filter_module;
     46 extern ngx_module_t  ngx_http_charset_filter_module;
     47 extern ngx_module_t  ngx_http_userid_filter_module;
     48 extern ngx_module_t  ngx_http_headers_filter_module;
     49 extern ngx_module_t  ngx_http_copy_filter_module;
     50 extern ngx_module_t  ngx_http_range_body_filter_module;
     51 extern ngx_module_t  ngx_http_not_modified_filter_module;
     52 
     53 ngx_module_t *ngx_modules[] = {
     54     &ngx_core_module,
     55     &ngx_errlog_module,
     56     &ngx_conf_module,
     57     &ngx_events_module,
     58     &ngx_event_core_module,
     59     &ngx_epoll_module,
     60     &ngx_regex_module,
     61     &ngx_http_module,
     62     &ngx_http_core_module,
     63     &ngx_http_log_module,
     64     &ngx_http_upstream_module,
     65     &ngx_http_static_module,
     66     &ngx_http_autoindex_module,
     67     &ngx_http_index_module,
     68     &ngx_http_auth_basic_module,
     69     &ngx_http_access_module,
     70     &ngx_http_limit_conn_module,
     71     &ngx_http_limit_req_module,
     72     &ngx_http_geo_module,
     73     &ngx_http_map_module,
     74     &ngx_http_split_clients_module,
     75     &ngx_http_referer_module,
     76     &ngx_http_rewrite_module,
     77     &ngx_http_proxy_module,
     78     &ngx_http_fastcgi_module,
     79     &ngx_http_uwsgi_module,
     80     &ngx_http_scgi_module,
     81     &ngx_http_memcached_module,
     82     &ngx_http_empty_gif_module,
     83     &ngx_http_browser_module,
     84     &ngx_http_upstream_ip_hash_module,
     85     &ngx_http_upstream_least_conn_module,
     86     &ngx_http_upstream_keepalive_module,
     87     &ngx_http_write_filter_module,
     88     &ngx_http_header_filter_module,
     89     &ngx_http_chunked_filter_module,
     90     &ngx_http_range_header_filter_module,
     91     &ngx_http_gzip_filter_module,
     92     &ngx_http_postpone_filter_module,
     93     &ngx_http_ssi_filter_module,
     94     &ngx_http_charset_filter_module,
     95     &ngx_http_userid_filter_module,
     96     &ngx_http_headers_filter_module,
     97     &ngx_http_copy_filter_module,
     98     &ngx_http_range_body_filter_module,
     99     &ngx_http_not_modified_filter_module,
    100     NULL
    101 };

    1、核心模块

    1 extern ngx_module_t  ngx_core_module;
    2 extern ngx_module_t  ngx_errlog_module;
    3 extern ngx_module_t  ngx_conf_module;
    4 extern ngx_module_t  ngx_events_module;
    5 extern ngx_module_t  ngx_event_core_module;
    6 extern ngx_module_t  ngx_epoll_module;
    7 extern ngx_module_t  ngx_regex_module;

    上面的都是核心模块,主要包括2类功能,一类功能是主题功能,包括进程管理、权限控制、错误日志记录、配置解析等;另一类功能是用于响应请求事件必须的功能,包括事件驱动机制、正则表达式解析等。

    其他的模块后续再补充

  • 相关阅读:
    [php]php设计模式 Interpreter(解释器模式)
    [php]php设计模式 Decorator(装饰模式)
    [php]php设计模式 Adapter(适配器模式)
    [php]php设计模式 Delegation(委托模式)
    [php]php设计模式 Builder(建造者模式)
    [python]django学习笔记 二
    [ruby]ruby on rails学习笔记1
    [php]php设计模式 Factory(工厂模式)
    pku3461 Oulipo (KMP)
    pku 2406 && pku 1961 Period && hdu3746 Cyclic Nacklace
  • 原文地址:https://www.cnblogs.com/abc-begin/p/7614227.html
Copyright © 2011-2022 走看看