Nginx讀寫分離
阿新 • • 發佈:2018-11-12
場景還原:
需求分析,前端一臺nginx做負載均衡反向代理,後面兩臺httpd伺服器。整個架構是提供BBS(論壇)服務,有一需求得實現讀寫分離,就是上傳附件的功能,我們上傳的附件只能上傳到Web1,然後在Web1上利用rsync+inotify實現附件同步,大家都知道rsync+inotify只能是主向從同步,不能雙向同步。所以Web1可進行寫操作,而Web2只能進行讀操作,這就帶來讀寫分離的需求,下面我們就來說一下,讀寫分離怎麼實現。
**原理:**根據傳送的請求型別,進行相應的動態分發
if ($request_method = "PUT"){}
實現步驟
配置nginx.conf檔案
location / {
if ($request_method = "PUT"){
proxy_pass http://172.16.1.251:8099;
}
proxy_pass http://localhost:8080;
}
錯誤情況:
至此:所謂讀取操作全部在服務A進行,寫操作全部在服務B進行,以達到讀寫分離的效果.