一、location配置块详解
1.location 大致分为三类
-
精准匹配:location = / { ... }
-
一般匹配:location / { ... }
-
正则匹配:location ~ / { ... }
2.location 常用的匹配规则
3.location 匹配的优先级
(1)精确匹配 = /.../...
(2)前缀匹配 ^~ /.../...
(3)正则匹配 ~ 或 ~* /.../...
(4)一般前缀匹配 /.../...
(5)通用匹配 /
4.location 匹配流程
如果只有一种匹配满足,互不影响则直接走匹配到的location。
如果存在多个形式的location,则按以下流程匹配:
(1)精确匹配成功,直接走精确;
(2)没有就看筛选出来的是前缀匹配还是一般匹配**(比满足的路径长度)**;
——> 如果是一般匹配,就看有没有正则匹配,有正则,正则高;
——> 正则匹配多个符合,则在配置文件中靠前优先级的大。
——> 如果筛选出来是前缀匹配,那就忽略正则匹配;
(3)只有在精准、前缀、正则、一般 都没有匹配到的时候才会看通用匹配。
5.location 的实际使用
实际网站使用中,至少有三个匹配规则定义:
(1)直接匹配网站根目录首页通过域名访问网站首页比较频繁,使用这个会加速处理,比如说官网。可以是一个静态首页,也可以直接转发给后端应用服务器。
location = /index.html {
root html;
index index.html index.htm;
}
(2)处理静态文件请求
这是nginx作为