nginx配置location?root簡單方法記錄
前言
nginx指定文件路徑有兩種方式root和alias,root與alias主要區(qū)別在于nginx如何解釋location后面的uri,這會使兩者分別以不同的方式將請求映射到服務器文件上。
最基本的區(qū)別
alias 指定的目錄是準確的,給location指定一個目錄。root 指定目錄的上級目錄,并且該上級目錄要含有l(wèi)ocatoin指定名稱的同名目錄。
以root方式設置資源路徑:
語法: root path;
配置塊: http、server、location、if
以alias 方式設置資源路徑
語法: alias path;
配置塊: location
Example:
location /img/ { alias /var/www/image/; } #若按照上述配置的話,則訪問/img/目錄里面的文件時,ningx會自動去/var/www/image/目錄找文件 location /img/ { root /var/www/image; } #若按照這種配置的話,則訪問/img/目錄下的文件時,nginx會去/var/www/image/img/目錄下找文件
注意:
1.使用alias時,目錄名后面一定要加”/“。
2.使用alias標簽的目錄塊中不能使用rewrite的break。
3.alias在使用正則匹配時,必須捕捉要匹配的內(nèi)容并在指定的內(nèi)容處使用。
4.alias只能位于location塊中
配置alias支持PHP fastcgi解析
location /app { alias /project/app/; index index.php; location ~ \.php$ { #方案一 fastcgi_pass 127.0.0.1:9100; fastcgi_index index.php; include fastcgi.conf; } } #location ~ /app/.+\.php$ { #方案二 # rewrite /app/(.+\.php) /$1 break; # include fastcgi.conf; # fastcgi_pass 127.0.0.1:9100; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /project/app/$fastcgi_script_name; #}
===============
nginx貌似沒有虛擬目錄的說法,因為它本來就是完完全全根據(jù)目錄來設計并工作的。
如果非要給nginx安上一個虛擬目錄的說法,那就只有alias標簽比較“像”,干脆來說說alias標簽和root標簽的區(qū)別吧。
最基本的區(qū)別:alias指定的目錄是準確的,root是指定目錄的上級目錄,并且該上級目錄要含有l(wèi)ocation指定名稱的同名目錄。另外,根據(jù)前文所述,使用alias標簽的目錄塊中不能使用rewrite的break。
所以使用nginx設置root時要注意一個問題,就是如果該root設置的前端目錄不是根目錄,那么在寫root的絕對地址時,要把前端目錄的部分省略掉。
我們用設置虛擬目錄指向的alias來和root比較一下就非常明顯了
location /abc/ { alias /home/html/abc/; }
在這段配置下,http://test/abc/a.html就指定的是 /home/html/abc/a.html。這段配置亦可改成
location /abc/ { root /home/html/;}
可以看到,使用root設置目錄的絕對路徑時,少了/abc,也就是說,使用root來設置前端非根目錄時,nginx會組合root和location的路徑,即 /home/html/abc/。
另外,使用alias時目錄名后面一定要加“/”
參考:
https://jasonhzy.github.io/2016/08/25/nginx-alias-root/
http://blog.csdn.net/21aspnet/article/details/6583335
到此這篇關于nginx配置location root的文章就介紹到這了,更多相關nginx配置location root內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Nginx服務器對數(shù)據(jù)傳輸速度限制的基本配置方法講解
這篇文章主要介紹了Nginx服務器對數(shù)據(jù)傳輸速度限制的基本配置方法講解,包括第三方開發(fā)的限速模塊Nginx-limit-traffic-rate-module的使用介紹,需要的朋友可以參考下2016-01-01當 Nginx 出現(xiàn) 504 錯誤的完美解決方法
Nginx是一款流行的Web服務器和反向代理服務器,但有時會遇到504網(wǎng)關超時錯誤,這種錯誤通常是由后端服務器響應緩慢、Nginx配置不當或網(wǎng)絡問題導致的,下面給大家分享Nginx 出現(xiàn) 504 錯誤的完美解決方法,一起看看吧2024-09-09Nginx服務500:Internal Server Error原因之一
這篇文章主要介紹了Nginx服務500:Internal Server Error原因之一,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-05-05