1. 程式人生 > >root目錄與alias目錄的區別 Nginx路徑location配置中,使用root目錄與alias目錄的區別

root目錄與alias目錄的區別 Nginx路徑location配置中,使用root目錄與alias目錄的區別

   1)alias指定的目錄是準確的,即location匹配訪問的path目錄下的檔案直接是在alias目錄下查詢的;
    2)root指定的目錄是location匹配訪問的path目錄的上一級目錄,這個path目錄一定要是真實存在root指定目錄下的;

舉例說明

    比如靜態資原始檔在伺服器/var/www/static/目錄下

    1)配置alias目錄

    location /static/ {
        alias  /var/www/static/;
    }

    注意:alias指定的目錄後面必須要加上"/",即/var/www/static/不能改成/var/www/static
    
    訪問http://IP:PORT/static/index.html時,實際訪問的是/var/www/static/index.html
    
    2)也可改成配置root目錄

    location /static/ {
        root  /var/www/;
    }

    注意:location中指定的/static/必須是在root指定的/var/www/目錄中真實存在的。
      
    兩者配置後的訪問效果是一樣的。 

配置習慣  
  
    一般情況下,在nginx配置中的良好習慣是:
    1)在location / 中配置root目錄
    2)在location /somepath/ 中配置alias虛擬目錄
    
配置預設主頁

    比如訪問 http://IP:PORT/,預設訪問伺服器/var/www/static/目錄下的index.html
    
    1)配置alias目錄方式
    
    location / {
        alias  /var/www/static/;
        index  index.html index.htm;
    }
    
    2)配置root目錄方式
    
    location / {
        root  /var/www/static/;
        index  index.html index.htm;
    }