Nginx配置中root和alisa指定文件路径的区别

区别:

  在Nginx配置文件中,指定文件路径有两种方式,分别是root和alisa,两者的区别在于Nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上。

先来看看alisa的写法:

        location /v9/ {
            alias  /data/wwwroot/front/v9/;
            autoindex on;
        }

注意事项:

  • 使用alias时,目录名后面一定要加"/";
  • alias可以指定任何名称;
  • alias在使用正则匹配时,必须捕捉要匹配的内容并在指定的内容处使用;
  • alias只能位于location块中;

  当请求的URI为/v9/static/homepage.7c7547f0.png时,Nginx会把URI拼接在alisa中填写的目录之后,但不包含location后面配置的路径,即/data/wwwroot/front/v9/static/homepage.7c7547f0.png。

再来看root的写法:

        location /v9/ {
            root  /data/wwwroot/front;
            index html;
            allow all;
        }

  当请求的URI为/v9/static/homepage.7c7547f0.png时,那么Nginx将会在服务器上查找“/data/wwwroot/front/v9/static/homepage.7c7547f0.png”文件。

总结:

  从这两个例子可以看出alias命令和root命令的区别:alias指定的是当前目录;而root指定的是根目录,一般情况下,在location /中配置root,在location /other中配置alias

posted @ 2021-08-21 14:37  夏圣洁  阅读(913)  评论(0编辑  收藏  举报