最近在使用Nginx配置一個圖片靜態服務器來通過http請求訪問圖片,在配置的時候,發現遇到訪問有404的問題,結果發現是在配置路徑的時候,和路徑屬性是root還是alias的有關。
nginx配置文件
server {
listen 88;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location /images/ {
alias /var/www/app/static/;
autoindex_localtime on; # 列表目錄顯示本地時間
autoindex on;
}
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
下面就是root和alias的配置的區別
如果我們是在location中配置子目錄/static/? 并且 root 后面加上文件地址
location /static/ {
root /var/www/app/static/;
autoindex on;
}
這個情況解析的文件地址就會是?/var/www/app/static/static
如果我們是在location中配置子目錄/static/? 并且 alias 后面加上文件地址
location /static/ {
alias /var/www/app/static/;
autoindex on;
}
這個情況解析的文件地址就會是?/var/www/app/static/
如果我們location配置的是根目錄,使用root和alias效果是一樣的,如果我們配置的location是子目錄,這個時候我們就要考慮是使用root還是alias了。