Nginx location配置详解

上一篇博客Nginx配置详解已经说过了nginx 的基本配置情况,今天来详细讲述一下nginx的location的配置原则,

location是根据Uri来进行不同的定位,location可以把网站的不同部分,定位到不同的处理方式上,

location的语法:

  location [=|~|~*|^~] patt { }  //中括号中为修饰符,可以不写任何参数,此时称为一般匹配,也可以写参数

因此,大类型可以分为种:

  location = patt {} [精准匹配]

  location patt{}     [普通匹配]

  location ~ patt{}  [正则匹配]

 先来看一张图了解一下匹配的优先级问题:

location命中过程:

1.先进行精准匹配,如果命中立即返回结果并结束解析的过程;

2.精准匹配未命中判断普通匹配,如果命中多个会记录下"最长的"命中结果,但不会结束解析;

3.继续判断正则匹配,按照正则匹配设置的规则正则表达式进行匹配,如果有多个正则匹配则由上到下进行匹配,一旦匹配成功一个会立即返回结果并结束解析.

ps:普通匹配的前后顺序是无所谓的,因为记录的是最长的结果,而正则匹配是按从上到下匹配的,这个需要注意!!!

    server {

        listen 80; 

        server_name localhost; 

        location =/text.html { #精准匹配,浏览器输入IP地址/text.html,定位到服务器/var/www/html/text.html文件
root
/var/www/html;
index text.html;
} location
/ { #普通匹配,浏览器输入IP地址,定位到服务器/usr/local/nginx/html/default.html文件
root html;
index
default.html;
}

    location ~ image { #正则匹配,浏览器输入IP/image..地址会被命中,定位到/var/www/image/index.html

      root /var/www/image;

      index index.html;
    }

    }
原文地址:https://www.cnblogs.com/52lnamp/p/9342090.html