使用fastdfs加兩台storage,一台做備份使用時,發現有一類檔名是以「ag-」開頭,使用
檢視nginx的error.log得到
分析一下客戶端與nginx的互動過程如下:
一般nginx與tracker裝在一台伺服器上,所以他們之間的通訊一般不會時間太長而導致超時
但是nginx與storage一般不再一台機器上,因此nginx與storage之間的通訊可能會timeout,從而導致502異常。
所以需要在nginx中新增如下配置
location /group1/m00
後來發現,還是解決不了這個問題,繼續分析發現另外一台的storage上的檔案是訪問不了的,檢查一看nginx_fastdfs_module沒有配置,新增上去後,重啟nginx,發現502的異常解決了但是偶爾會出現插入的需要很長時間才能顯示出來。
講過一番思考後,發現這是storage同步延遲的結果,大概是這樣的tracker將檔案放在storagea上,但是訪問的時候,tracker發現storageb也是可用的,就返回了storageb的ip與埠。但是此時storageb還沒有此檔案,所以一直等待,直到storageb同步storagea的資料。
檢視tracker的配置檔案有如下配置:
# which storage server to download file
# 0: round robin (default)
# 1: the source storage server which the current file uploaded to
download_server=1
此時設為1,就好了。
那麼tracker是怎麼判斷哪一台是源務器的呢?是根據檔名,tracker_nginx_module
可以根據檔名反解出源伺服器ip,檔案時間戳,根據這兩點就可以找到源storage伺服器了。
參考:1.
2.
nginx fastdfs 的開機自啟動
虛擬機器每次啟動之後都要重新啟動一下fastdfs 和 nginx服務,比較麻煩,所以增加開機自啟動 編輯 etc rc.d rc.local 檔案,增加啟動項 1 編輯檔案 vim etc rc.d rc.local2 增加如下 3 在centos7中,etc rc.d rc.local 檔案的許...
nginx fastdfs 的開機自啟動
nginx fastdfs 的開機自啟動 虛擬機器每次啟動之後都要重新啟動一下fastdfs 和 nginx服務,比較麻煩,所以增加開機自啟動 編輯 etc rc.d rc.local 檔案,增加啟動項 編輯檔案 vim etc rc.d rc.local增加如下 fastdfs start usr...
nginx提示502 錯誤
nginx提示502 錯誤 nginx 502 bad gateway沒有啟動,啟動命令是 spawn fcgi a 127.0.0.1 p 9000 c 10 u www data f usr bin php cgi 設定開機自啟動 ubuntu開機之後會執行 etc rc.local檔案中的指令...