zoukankan      html  css  js  c++  java
  • Nginx(四)-- 配置文件之location

    1.location的作用

      location主要做定位功能,根据uri来进行不同的定位。

    2.location的语法

      location [=|~|~*|^~] /uri/ { …}  

    • = 开头表示精确匹配
    • ^~ 表示uri以某个常规字符串开头,相当于匹配uri路径
    • ~ 区分大小写的正则匹配
    • !~ 区分大小写不匹配
    • !~* 不区分大小不匹配
    • ~* 不区分大小写的正则匹配
    • / 通用匹配

      server中可以有多个location,来进行匹配。

    3.匹配的优先级 ---  精准匹配 > 一般匹配

      (1) 在nginx.conf文件中的添加如下内容:

            

            第一个表示 是 一般匹配,第二个表示 精准匹配。

      (2) 在 nginx/html文件夹下 新建 yiban 和 jingzhun 文件夹,分别 在里面 新建 index.html ,在 yiban/index.html中 写入 :This is yiban page.

                 在 jingzhun/index.html中写入:This is jingzhun page. 以作区分

      (3) 从新加载nginx.con文件:./nginx -s reload

      (4) 在浏览器中访问 192.168.80.128/index.html,可以 看到:This is jingzhun page.

            说明 精准匹配的优先级 大于 一般匹配。

            

      (5) 将上图中的内容改为如下:

     1         location /index.html {
     2              root html/yiban;
     3              index index.html;
     4         }
     5 
     6         location = /index.html {   # 在这里加了一个空格
     7              root html/jingzhun;
     8              index index.html;
     9         }
    10 
    11         location / {
    12             root   html;
    13             index  index.html index.htm;
    14         }

        然后重新加载配置文件,直接访问IP地址:192.168.80.128,结果 还是:This is jingzhun page.

        这是因为在nginx中做了多次匹配,访问 IP地址,首先 匹配的 是 第11行,然后进去 之后 是 index.html,这个index.html 又和 第6行中的 location匹配,就跳转到jingzhun/index.html了。

    4.匹配的优先级 ---  正则匹配 > 一般匹配

      1. 如果两个location都是一般匹配,则会按照最常路径匹配。如下:

          

          就会匹配图中的第一个。

          总结:1. 先匹配uri前缀部分。

           2.因为location不是严格匹配,而是一个前缀匹配,按照上图所示,就会产生两个location匹配。

           3.如果通过192.168.80.128/prefix/mid/index.html ,那么会按照最长路径进行匹配,即匹配 第一个。

      2. 如果既有一般匹配,又有正则匹配,如下:

         

        当访问 192.168.80.128/prefix/mid/java/index.html时,先匹配 第一个,然后匹配第二个。

        匹配优先级:

                1.首先匹配精准路径

         2.如果两个location都是一般匹配规则,那么会按照最长路径匹配

           3.一般匹配和正则匹配的过程是:首先会选择一般匹配过程中的大前缀匹配,但是匹配过程不会停止,最大前缀匹配只是一个临时结果,nginx还会继续检查正则location。按照正则location在配置文件的物理顺序做匹配,如果匹配到一条正则location,就不会考虑后面的规则。

  • 相关阅读:
    爬虫系列---多线程爬取实例
    爬虫系列---selenium详解
    爬虫系列二(数据清洗--->bs4解析数据)
    爬虫系列二(数据清洗--->xpath解析数据)
    爬虫系列二(数据清洗--->正则表达式)
    爬虫实例系列一(requests)
    selenium PO模式
    setUp和tearDown及setUpClass和tearDownClass的用法及区别
    chromeIEFirefox驱动下载地址
    HTTP通信机制
  • 原文地址:https://www.cnblogs.com/xbq8080/p/7076481.html
Copyright © 2011-2022 走看看