nginx 配置静态资源路径(url不同于static path)


目的

        用nginx做静态资源代理可以减少请求对后台服务器的压力,使响应更加迅速。

配置

       情景一
          url : 127.0.0.1:8000/images/abc.jepg      path:  /static/iamges/abc.jepg
         这种情况很容易配置:
 
    server {
        listen 8000;
        server_name myserver;
        client_max_body_size 251m;
        
        location /images/ {
            root /static/;
        }
        location / {
            include uwsgi_params;
            uwsgi_read_timeout 10;
            uwsgi_pass 0.0.0.0:8001;  #uswgi
        }
    }
 
 
        
      情景二
        url: 127.0.0.1:8000/images/abc.jepg     path:  /static/imgs/abc.jepg
        这时如果再向前面一样配置,就会发生404错误,因为images 不等于imgs,匹配会失败,那怎么解决呢?
        解决方法:使用alias 代替 root
    server {
        listen       8000;
        server_name  10.239.219.156;
        client_max_body_size    251m;

        location  /images/ {
            alias /static/imgs/;
        }
        
        location / {
            include uwsgi_params;
            uwsgi_read_timeout 10;
            uwsgi_pass 0.0.0.0:8001;  #uswgi
        }
    }
 
 
         解释: root 属性指定的值是要加入到最终路径的,情景一就将位置变为了:/static/images/abc.jepg
                   情景二中,我们不希望把url路径放入文件path中,就需要用到alias属性,alias会抛弃uri,直接访问alias指定路径,也就是/static/imgs/abc.jepg






免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM