nginx靜態檔案對映root和alias

2021-08-28 11:46:43 字數 1365 閱讀 4923

使用nginx做伺服器,用root配置目錄後期望通過image.***.***/image/***.jpg訪問卻一直報404錯誤,但是可以通過image.***.***/***.jpg卻可以訪問

server 

}

最後發現配置靜態路徑的兩種方式。之前靜態的都是直接在url裡寫根目錄,所以一直沒發現。加了乙個有字首的url,就出現404問題。

查詢原因

root 配置的意思是,會在root配置的目錄後跟上url,組成對應的檔案路徑。

例如url

最終去尋找的檔案路徑是/storage/images/image/***.png

而實際位置是/storage/images/***.png 導致404 

而通過 卻能實際找到/storage/images/***.png

nginx提供了另外乙個靜態路徑配置  :alias

官方root

sets the root directory for requests. for example, with the following configuration

location /i/

the/data/w3/i/top.giffile will be sent in response to the「/i/top.gif」request 

官方alias

defines a replacement for the specified location. for example, with the following configuration

location /i/

on request of「/i/top.gif」, the file/data/w3/images/top.gifwill be sent.

當訪問/i/top.gif時,root是去/data/w3/i/top.gif請求檔案,alias是去/data/w3/images/top.gif請求,也就是說

root響應的路徑:配置的路徑+完整訪問路徑(完整的location配置路徑+靜態檔案)

alias響應的路徑:配置路徑+靜態檔案(去除location中配置的路徑)

修改後的配置

server 

}

需要注意的是alia配置的目錄後必須加 / 

通常情況下 location / 配置中用 root, location /other 使用alias

nginx靜態檔案對映基本配置

1.nginx預設訪問埠80,啟動成功直接輸入ip進行訪問 程序檢視命令 ps ef grep nginx 2.例如前端想訪問127.0.0.1 80 student,則配置檔案中做如下配置 vim usr local nginx conf nginx.conf新增紅色方塊 其中root代指的是ng...

nginx 靜態檔案快取

目的 快取nginx伺服器的靜態檔案。如css,js,htm,html,jpg,gif,png,flv,swf,這些檔案都不是經常更新。便於快取以減輕伺服器的壓力。實現 nginx proxy cache可以將使用者的請快取到本地乙個目錄,當下乙個請求時可以直接調取快取檔案,就不用去後端伺服器去取檔...

nginx 靜態檔案快取

目的 快取nginx伺服器的靜態檔案。如css,js,htm,html,jpg,gif,png,flv,swf,這些檔案都不是經常更新。便於快取以減輕伺服器的壓力。實現 nginx proxy cache可以將使用者的請快取到本地乙個目錄,當下乙個請求時可以直接調取快取檔案,就不用去後端伺服器去取檔...