nginx負載平衡同步上傳檔案的問題 - SegmentFault

來源:互聯網
上載者:User
關鍵字 php nginx nginx_proxy
大神們,我現在有個問題,幫我看下:
因為使用nginx均衡負載,由於分發請求到不同伺服器,這樣如果只想把上傳的圖片只儲存到一台伺服器就會出問題。
百度到的方法:
第一種方法是代碼裡面使用ftp 把檔案同步到儲存伺服器
第二種方法是如果不是儲存檔案的伺服器,使用curl 把檔案提交到儲存伺服器再重新存一次。
第三種方法就是直接使用儲存伺服器的ip來調介面了。第三種方法我們這邊先不考慮。
不知道大神們,遇到這種情況是怎麼實現這種需求的

回複內容:

大神們,我現在有個問題,幫我看下:
因為使用nginx均衡負載,由於分發請求到不同伺服器,這樣如果只想把上傳的圖片只儲存到一台伺服器就會出問題。
百度到的方法:
第一種方法是代碼裡面使用ftp 把檔案同步到儲存伺服器
第二種方法是如果不是儲存檔案的伺服器,使用curl 把檔案提交到儲存伺服器再重新存一次。
第三種方法就是直接使用儲存伺服器的ip來調介面了。第三種方法我們這邊先不考慮。
不知道大神們,遇到這種情況是怎麼實現這種需求的

  • 3 小時前提問
  • 評論
  • 邀請回答

請先 登入 後評論

預設排序 時間排序

2 個回答

答案對人有協助,有參考價值 0 答案沒協助,是錯誤的答案,答非所問

  1. 宿主的nginx對於上傳的location做特殊處理, 只讓一台機器來負責檔案上傳, 不完美但是有效, 可以作為一段時間的過度方案

  2. 搭建一個Distributed File System, 掛載到所有的伺服器上, 處理檔案上傳後寫唯寫入這個特定目錄, nginx中規劃一個location指向這個這個目錄(例如/data/upload), 缺點就是要多維護一個這個Distributed File System (和你的第一種思路有點像, 但Distributed File System不需要"同步")

  3. 使用外部CDN檔案上傳來解決這個問題, 七牛, 又拍雲都可以

1.專門整幾台伺服器用來存這些靜態資源;
2.整出幾個盤,弄成網路盤(nfs),專門用來儲存這些檔案,每個伺服器都去掛載這幾個盤,和windows的共用資料夾類似;
3.上傳成功之後返回一個檔案的url,這個url就是檔案的地址了;

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.