最近在nginx上部署日誌分析工具awstats時,在配置awstats分析結果可供網頁瀏覽這步時,分析結果頁面訪問老是404.後來查閱了一些資料,發現是root和alias的用法區別沒搞懂致使的,這裏特意將這二者區別詳盡道來,供你們學習參考。
Nginx其實沒有虛擬主機這個說法,由於它原本就是完徹底全根據目錄來設計並工做的。若是非要給nginx安上一個虛擬目錄的說法,那就只有alias比較「像」了。
那alias標籤和root標籤到底有哪些區別呢?
一、alias後跟的指定目錄是準確的,而且末尾必須加「/」,不然找不到文件
location /c/ {
alias /a/
}
若是訪問站點http://location/c訪問的就是/a/目錄下的站點信息。
二、root後跟的指定目錄是上級目錄,而且該上級目錄下要含有和location後指定名稱的同名目錄才行,末尾「/」加不加無所謂。
location /c/ {
root /a/
}
若是訪問站點http://location/c訪問的就是/a/c目錄下的站點信息。
三、通常狀況下,在location /中配置root,在location /other中配置alias是一個好習慣。
其餘亂七八糟的東西這裏就不亂扯了,只要這個幾點理解透,平常多操做幾下就理解了。nginx