• nginx静态目录搭建root与alias的区别


    server {
        listen 80;
        server_name progect.google.com;
     
        location /dev/ {
            root /www/project; # 注意,此时走的是/www/project下边的dev目录
            index index.html;
        }
     
        location /pub/ {
            alias /www/project/pub/; #  此时是/www/project/pub/目录
            index index.html;
        }
     
        # 其他路径直接返回403页面
        location / {
            return 403;
        }
    }

    其中对于location下边目录有两种设置方式,分别是 root 和 alias

    两者有什么区别呢?

    alias 指定的目录是准确的,给location指定一个目录。
    root 指定上级目录,并且该上级目录 一定要 含有locatoin指定名称的同名目录。

    举例:

    
    location /img/ {
        alias /var/www/image/; # 注意,这里最后的 / 不能丢
    }

    如上使用 alias 配置,访问 /img/目录的文件时,nginx会去 /var/www/image/ 目录找文件(只在/var/www/image/中,/var/www/image/abc/1.jpg就无法被访问)

    location /img/ {
        root /var/www/image;
    }

    而使用 root配置的话,访问 /img/目录的文件时,nginx会去 /var/www/image/img/ 目录找文件(在/var/www/image/目录及其子目录,/var/www/image/abc/1.jpg就可以被访问)

  • 相关阅读:
    iOS ARC编译器规则和内存管理规则
    Servlet与JSP的关系
    传统javabean与spring中的bean的区别
    servlet学习笔记
    JAVA里面"=="和euqals的区别
    java垃圾回收
    java中初始化块、静态初始化块和构造方法
    抽象类与接口的区别
    Servlet 与 CGI 的比较
    spring的事务传播特性
  • 原文地址:https://www.cnblogs.com/wushangzhizun/p/15928058.html
Copyright © 2020-2023  润新知