nginx重新整理——————http请求的11个阶段中的precontent阶段[十六]
前言
简单介绍一下precontent阶段。
正文
介绍一下这个阶段的几个模块。
ngx_http_try_files_module 模块。
syntax : tryfiles file... uri
tryfiles file... code;
default: --
context: server,location
依次试图访问多个url对应的文件(由root 或者alias 指令指定),
当文件存在时直接返回文件内容,如果所以文件都不存在,则按最后一个url结果或者code 返回。
例子:
server {
server_name www.axm.com;
error_log logs/myerror.log info;
root html/;
default_type text/plain;
location /first {
try_files /system/maintenance.html
$uri $uri/index.html $uri.html
@lasturl;
}
location @lasturl {
return 200 'lasturl!\n';
}
location /second {
try_files $uri $uri/index.html $uri.html =404;
}
}
例如第一个first,先尝试获取/system/maintenance.html,如果不存在然后去获取/html/first 文件,
然后去获取/html/first/index.html,然后/html/first.html,如果全度没有然后去访问@lasturl。
这种情况一般情况下是如果维护了,然后就可以把文件放在某个地方就好。
下面介绍一下拷贝流量。
ngx_http_mirror_module 模块,默认编译进nginx。
通过--without-http-mirror-module 移除模块。
处理请求时,生成子请求访问其他服务,对子请求的返回值不做处理。
例如:
结
下一节content 阶段。