Nginx中root與alias都是定義location {}塊中虛擬目錄訪問的文件位置:html
先看看二者在用法上的區別:nginx
location /img/ { alias /var/www/image/; } #若按照上述配置的話,當客戶端請求訪問/img/目錄裏面的文件時,ningx會自動去/var/www/image/目錄找文件 location /img/ { root /var/www/image; } #若按照這種配置的話,則訪問/img/目錄下的文件時,nginx會去/var/www/image/img/目錄下找文件.
alias是一個目錄別名的定義,root則是最上層目錄的定義。spa
還有一個重要的區別是alias後面必需要用「/」結束,不然會找不到文件的。。。而root則無關緊要~~.net
通常狀況下,在location / 中配置root,在location /other中配置alias是一個好習慣...pwa
實例:code
location / { try_files $uri $uri/ /index.html; root /opt/ytd_nas/share_data/staticpages/pwa; index index.html; allow 111.207.170.18/32; allow 106.38.75.122/32; deny all; } #訪問根路徑時,用root指定路徑地址. location /static { alias /opt/ytd_nas/share_data/staticpages/mobile/static; } #當訪問www.xxx.com/static目錄時訪問alias下的目錄
參考文檔:htm
http://www.cnblogs.com/tintin1926/archive/2012/07/11/2586813.htmlblog