【Nginx-20180108】Nginx的搭建文件服务器问题一则
? ? 導讀:公司內部一個提供apk包下載的磁盤空間不足,需要將新生成的apk包放到最新掛載的磁盤上面。內部使用的是nginx做為文件服務器對內部提供apk下載服務,現在開發將新生成的包放到新的目錄上面,所以nginx的根目錄的路徑也需要更改了,但是我們希望舊的url還可以對外提供服務。為此現在我的解決思路就是在nginx新建一個新的location為新的root根目錄。
? ? location配置信息:
????location?/apk_download/?{root?/data/apk_download;autoindex?on;gzip?on;gzip_types?text/plain?application/x-javascript?text/css?application/xml?application/javascript;gzip_min_length??500;gzip_buffers?????4?8k;}因為nginx的配置已經存在一個對外提供下載的location,所以我是拷貝舊的,然后更改 location 和 root。
? ? 測試:
包的絕對路徑:
? 2. 下載命令或者訪問信息:
curl?http://ab.moumentei.com/apk_download/tasks/packagename_v10.15.2_base.apk??-L?-vvv? ? 按照上面的命令去執行,在執行的時候返回結果卻是404,文件找不到。我一開始一直以為是因為我自己訪問的url寫錯,所以核實了很長的時間,然后又懷疑自己是不是nginx對于下劃線_不能識別,所以我將location更改如下:
location?/download/?{root?/data/apk_download;autoindex?on;gzip?on;gzip_types?text/plain?application/x-javascript?text/css?application/xml?application/javascript;gzip_min_length??500;gzip_buffers?????4?8k;}? ? 然后繼續執行上面的那個命令,結果還是依舊返回404。為此我再一次仔細核實了以前的文件下載服務器的配置信息,然后更改location配置信息如下:
location?/apk_download/?{root?/data/;autoindex?on;gzip?on;gzip_types?text/plain?application/x-javascript?text/css?application/xml?application/javascript;gzip_min_length??500;gzip_buffers?????4?8k;}? ? 然后執行以下命令:
? ? 執行之后,文件能夠完全下載下來了。但是這個我有一個疑問,在官網上面沒有找到相關信息,希望有比較清楚的大神能夠告知:
? ? 文件的絕對路徑是/data/apk_download/tasks/packagename_v10.15.2_base.apk,配置的location的root根目錄是/data/apk_download,url正常訪問應該是http://ab.moumentei.com/apk_download/tasks/packagename_v10.15.2_base.pak應該是沒有問題,也不存在找不到文件的說法;在更改location的root根目錄為/data,那么正常來說訪問的url應該是http://ab.moumentei.com/apk_download/apk_download/tasks/packagename_v10.15.2_base.pak,比之前的url應該是多了一個apk_downlod,但是訪問的結果還是404,返回文件找不到。使用舊的http://ab.moumentei.com/apk_download/tasks/packagename_v10.15.2_base.pak卻是成功了,這個就是我不能理解的地方。
關于這個問題咨詢了一下我的同事,他告訴我:
? ? 就是在 location /apk_download/ { ........ } 這里apk_download 代表了2個意思:一個是域名后面的接的url判斷,若是域名后面接有/apk_download/則會跳到這個url下面;另外則是在根目錄root下面data目錄指定的文件目錄。
? ? 所以才會在第一次配置的時候訪問一直報錯是404,按照這個說法的話在我第一次配置的是root /data/apk_download;那么我的訪問拼接的路徑應該是/apk_download/apk_download/tasks.... 這個目錄,暫時還沒有方法驗證這個判斷是否正確。在這里先記錄下來。
轉載于:https://blog.51cto.com/11819159/2058642
總結
以上是生活随笔為你收集整理的【Nginx-20180108】Nginx的搭建文件服务器问题一则的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: FFmpeg AVCodecContex
- 下一篇: numpy库中的extend()函数使用