資源描述:
《北大青鳥中關村學士后本部:nginx實現讀寫分離》由會員上傳分享,免費在線閱讀,更多相關內容在工程資料-天天文庫。
1、北大青鳥中關村學士后本部:nginx實現讀寫分離????測試環(huán)境????????OS:rhel6????????A服務器:配置nginx實現負載均衡和方向代理功能????????B服務器:簡單的web服務器,沒做其他配置,讀服務器????????C服務器:簡單的web服務器,沒做其他配置,寫服務器????部署:A服務器實現前端負載均衡和方向代理功能,后端有兩臺web服務器,B服務器只進行讀操作,C服務器只進行寫操作,北大青鳥中關村學士后本部而B和C服務器之間通過rsync+inotify實現數據的同步這樣就簡單的實現了ng
2、inx的讀寫分離功能。配置之前先來了解一下什么是WebDAV??????WebDAV(Web-basedDistributedAuthoringandVersioning)一種基于HTTP1.1協議的通信協議。它擴展了HTTP1.1,在GET、POST、HEAD等幾個HTTP標準方法以外添加了一些新的方法,北大青鳥中關村學士后本部使應用程序可直接對WebServer直接讀寫,并支持寫文件鎖定(Locking)及解鎖(Unlock),還可以支持文件的版本控制。????Web分布式創(chuàng)作和版本管理(WebDAV)擴展了HTTP/
3、1.1協議,允許客戶端發(fā)布、鎖定和管理Web上的資源。1.在A服務器上配置負載均衡和方向代理功能??#vim/etc/nginx/nginx.confproxy_cache_path/nginx/cache/firstlevels=1:2keys_zone=first:20mmax_size=1g;####讀服務器組??Bupstreamread{????#ip_hash;????server192.168.20.121weight=2max_fails=2fail_timeout=2;????server192.168.
4、20.123weight=2max_fails=2fail_timeout=2;??}####寫服務器組??Aupstreamwrite{??北大青鳥中關村學士后本部北京市海淀區(qū)中關村大街49號大華科技商廈A座2層????#ip_hash;????server192.168.20.122weight=2max_fails=2fail_timeout=2;????server192.168.20.124weight=2max_fails=2fail_timeout=2;????server127.0.0.1:8080back
5、up;??}server{????location/{????????root??html;????????index??index.htmlindex.htm;????????proxy_cachefirst;????????proxy_cache_valid20010m;????????proxy_pass??http://read;北大青鳥中關村學士后本部????????if($request_method="POST"){??####在這里判斷用戶是否執(zhí)行的是寫操作????????????????proxy_pas
6、shttp://write;????????}?????????proxy_set_headerHost$host;????????proxy_set_headerX-Real-IP$remote_addr;????}}2.A服務器上重新啟動服務??#servicenginxrestart北大青鳥中關村學士后本部北京市海淀區(qū)中關村大街49號大華科技商廈A座2層3.在B,C服務器上開啟httpd的WebDAV功能??#vim/etc/httpd/conf/httpd.conf??????Davon??####在7、ory??"/var/www/html/">標簽里添加4.在B,C服務器上重啟httpd服務??#servicehttpdretstart5.在A服務器上用curl命令測試下是否能正常訪問B,C服務器上的web服務??#curl??http://192.168.20.1216.用curl命令的T參數實現http協議中的put方法上傳文件(A服務器)??#curl??-T??/etc/issue??http://192.168.20.121??###往讀服務器上傳文件會報405的錯誤,北大青鳥中關村學士后本部因為沒開啟Web
8、DAV功能??#curl??-T??/etc/issue??http://192.168.20.122??###往寫服務器上傳文件會報403的錯誤,禁止訪問權限不夠7.下面我們給apache用戶授權??#setfacl-mu:apache:rwx/var/www/html/8.最后再測試下看是否可以往寫