Nginx中alias与root的区别

一、区别

Nginx指定文件路径有两种方式root和alias,这两者的用法区别在于对URI的处理方法不同。

二、举例说明1

alias:

location /i/{

alias /usr/local/nginx/html/admin/;

}

#若按照上述配置的话,则访问/i/目录里面的文件时,ningx会自动去/usr/local/nginx/html/admin目录找文件。

root:

location /i/ {

root /usr/local/nginx/html/admin;

}

#若按照这种配置的话,则访问/i/目录下的文件时,nginx会去/usr/local/nginx/html/admin/i下找文件。

(1)、alias是一个目录别名的定义,root则是最上层目录的定义。

(2)、还有一个重要的区别是alias后面必须要用“/”结束,否则会找不到文件的。而root则可有可无。

三、举例说明2

1、修改nginx.conf配置文件如下内容

server {

    listen 80; 

    server_name www.jason3.com; 

    access_log logs/access.log main;   

   

    location /i { 

            index index.html; 

            alias/usr/local/nginx/html/admin;

    }

    location ~ ^/i/(.+\.(?:gif|jpe?g|png))${

            alias /usr/local/nginx/html/admin/$1; 

    }

2、页面根目录/usr/local/nginx/html/admin设置图片及index.html页面。

3、完成配置后启动nginx服务。访问如下结果显示:
Nginx中alias与root的区别_第1张图片

你可能感兴趣的:(Nginx,+,Zuul,+,Gateway,nginx,运维,服务器)