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 阶段。

posted @ 2022-05-08 12:31  敖毛毛  阅读(249)  评论(0编辑  收藏  举报