nginx fastdfs 502異常解決

2021-08-08 17:40:45 字數 1264 閱讀 2380

使用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檔案中的指令...