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