最近在nginx上部署日志分析工具awstats時,在配置awstats分析結果可供網頁瀏覽這步時,分析結果頁面訪問總是404.后來查閱了一些資料,發現是root和alias的用法區別沒搞懂導致的,這里特地將這兩者區別詳盡道來,供大家學習參考。
Nginx其實沒有虛擬主機這個說法,因為它本來就是完完全全根據目錄來設計並工作的。如果非要給nginx安上一個虛擬目錄的說法,那就只有alias比較“像”了。
那alias標簽和root標簽到底有哪些區別呢?
1、alias后跟的指定目錄是准確的,並且末尾必須加“/”,否則找不到文件
location /c/ {
alias /a/
}
如果訪問站點http://location/c訪問的就是/a/目錄下的站點信息。
2、root后跟的指定目錄是上級目錄,並且該上級目錄下要含有和location后指定名稱的同名目錄才行,末尾“/”加不加無所謂。
location /c/ {
root /a/
}
如果訪問站點http://location/c訪問的就是/a/c目錄下的站點信息。
3、一般情況下,在location /中配置root,在location /other中配置alias是一個好習慣。
其他亂七八糟的東西這里就不亂扯了,只要這個幾點理解透,日常多操作幾下就理解了。
