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