HTTP模塊
Nginx源碼目錄中在src/http
中
客戶端請(qǐng)求到Nginx中時(shí)赐俗,HTTP在Nginx中的執(zhí)行流程可以分為11執(zhí)行階段拉队,這個(gè)是在ngx_http_core_module.h
中已經(jīng)事先定義好的
typedef enum {
NGX_HTTP_POST_READ_PHASE = 0,
NGX_HTTP_SERVER_REWRITE_PHASE,
NGX_HTTP_FIND_CONFIG_PHASE,
NGX_HTTP_REWRITE_PHASE,
NGX_HTTP_POST_REWRITE_PHASE,
NGX_HTTP_PREACCESS_PHASE,
NGX_HTTP_ACCESS_PHASE,
NGX_HTTP_POST_ACCESS_PHASE,
NGX_HTTP_PRECONTENT_PHASE,
NGX_HTTP_CONTENT_PHASE,
NGX_HTTP_LOG_PHASE
} ngx_http_phases;
一個(gè)配置塊的示例
main
http {
upstream { ... }
split_clients { ... }
map { ... }
geo { ... }
server {
if (){ ... }
location / {
limit_except { ... }
}
}
}
相應(yīng)的參數(shù)要放到對(duì)應(yīng)的指令塊中,不然Nginx語法不能通過阻逮,檢測Nginx配置的命令./nginx/sbin/nginx -t
server指令塊的設(shè)置
Syntax: server { ... }
Default: —
Context: http #只在http指令塊中生效