Java應(yīng)用開(kāi)發(fā)(中、高級(jí))課件 任務(wù)4.9 完成Ngnix負(fù)載配置_第1頁(yè)
Java應(yīng)用開(kāi)發(fā)(中、高級(jí))課件 任務(wù)4.9 完成Ngnix負(fù)載配置_第2頁(yè)
Java應(yīng)用開(kāi)發(fā)(中、高級(jí))課件 任務(wù)4.9 完成Ngnix負(fù)載配置_第3頁(yè)
Java應(yīng)用開(kāi)發(fā)(中、高級(jí))課件 任務(wù)4.9 完成Ngnix負(fù)載配置_第4頁(yè)
Java應(yīng)用開(kāi)發(fā)(中、高級(jí))課件 任務(wù)4.9 完成Ngnix負(fù)載配置_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

任務(wù)9.完成Ngnix負(fù)載配置任務(wù)描述本任務(wù)是使用Docker容器構(gòu)建Nginx服務(wù)器實(shí)現(xiàn)負(fù)載均衡功能。知識(shí)準(zhǔn)備1)NginxNginx是輕量級(jí)Web服務(wù)器,它不僅是一個(gè)高性能的HTTP和反向代理服務(wù)器,同時(shí)也是一個(gè)IMAP/POP3/SMTP代理服務(wù)器。Nginx以事件驅(qū)動(dòng)的方式編寫(xiě),有非常好的性能,也是一個(gè)非常高效的反向代理、負(fù)載平衡服務(wù)器。在性能上,Nginx占用很少的系統(tǒng)資源,能支持更多的并發(fā)連接,達(dá)到更高的訪(fǎng)問(wèn)效率;在功能上,Nginx是優(yōu)秀的代理服務(wù)器和負(fù)載均衡服務(wù)器;在安裝配置上,Nginx安裝簡(jiǎn)單、配置靈活。NGINX的輕巧,高性能和靈活性非常適合微服務(wù)。在微服務(wù)的體系之下,Nginx正在被越來(lái)越多的項(xiàng)目采用作為網(wǎng)關(guān)、負(fù)載均衡來(lái)使用,Nginx只是一個(gè)靜態(tài)文件服務(wù)器或者h(yuǎn)ttp請(qǐng)求轉(zhuǎn)發(fā)器,它可以把靜態(tài)文件的請(qǐng)求直接返回靜態(tài)文件資源,把動(dòng)態(tài)文件的請(qǐng)求轉(zhuǎn)發(fā)給后臺(tái)的處理程序,例如apache、tomcat、jetty等,這些后臺(tái)服務(wù),即使沒(méi)有nginx的情況下也是可以直接訪(fǎng)問(wèn)的,Nginx在微服務(wù)中的位置見(jiàn)圖5-47:圖5-47微服務(wù)架構(gòu)2)Docker數(shù)據(jù)卷Docker的鏡像是由多個(gè)只讀的文件系統(tǒng)疊加在一起形成的。當(dāng)啟動(dòng)一個(gè)容器的時(shí)候,docker會(huì)加載這些只讀層并在這些只讀層的上面增加一個(gè)讀寫(xiě)層。這時(shí)如果修改正在運(yùn)行的容器中已有的文件,那么這個(gè)文件將會(huì)從只讀層復(fù)制到讀寫(xiě)層。該文件的只讀版本還在,只是被上面讀寫(xiě)層的該文件的副本隱藏。當(dāng)刪除或者重新啟動(dòng)docker時(shí),之前的更改將會(huì)消失。在Docker中,只讀層及在頂部的讀寫(xiě)層的組合被稱(chēng)為聯(lián)合文件系統(tǒng)。為了很好的實(shí)現(xiàn)數(shù)據(jù)保存和數(shù)據(jù)共享,Docker提出了Volume這個(gè)概念,簡(jiǎn)單的說(shuō)就是繞過(guò)默認(rèn)的聯(lián)合文件系統(tǒng),而以正常的文件或者目錄的形式存在于宿主機(jī)上,又被稱(chēng)作數(shù)據(jù)卷。在Docker中,要想實(shí)現(xiàn)數(shù)據(jù)的持久化,即數(shù)據(jù)不隨著Container的結(jié)束而結(jié)束,以及為了保證宿主機(jī)與容器內(nèi)部的數(shù)據(jù)同步,需要將數(shù)據(jù)從宿主機(jī)目錄掛載到容器中。任務(wù)實(shí)施步驟1:拉取Nginx鏡像執(zhí)行“dockerpullnginx”命令獲取最新的Nginx鏡像,結(jié)果如圖5-48所示:圖5-48拉取Nginx鏡像步驟2:?jiǎn)?dòng)Nginx容器實(shí)例1)執(zhí)行“dockerrun--nameordersys-nginx-p80:80-dnginx”命令,使用Nginx默認(rèn)的配置啟動(dòng)Nginx實(shí)例,結(jié)果如圖5-49所示:圖5-49啟動(dòng)Nginx服務(wù)2)打開(kāi)瀏覽器訪(fǎng)問(wèn)“31”,看到Nginx服務(wù)可以正常訪(fǎng)問(wèn),結(jié)果如圖5-50所示:圖5-50訪(fǎng)問(wèn)Nginx服務(wù)步驟3:映射本地目錄到nginx容器1)執(zhí)行“mkdir-p/home/nginx/www/home/nginx/logs/home/nginx/conf”命令創(chuàng)建本地目錄,用于存放Nginx的相關(guān)文件信息:l

www目錄將映射為nginx容器配置的虛擬目錄;llogs目錄將映射為nginx容器的日志目錄;lconf目錄里的配置文件將映射為nginx容器的配置文件。2)執(zhí)行“dockerps”命令,獲取Nginx的ContainerID為“bee4e6b490ea”,結(jié)果如圖5-51所示:圖5-51查看docker鏡像3)執(zhí)行“dockercpbee4e6b490ea:/etc/nginx/nginx.conf/home/nginx/conf/”命令,拷貝容器內(nèi)Nginx默認(rèn)配置文件“nginx.conf”到“/home/nginx/conf/”目錄,過(guò)程如圖5-52所示:圖5-52拷貝容器文件4)停止并刪除Nginx容器,執(zhí)行命令如下:dockerstopordersys-nginxdockerrmordersys-nginx步驟4:?jiǎn)?dòng)第二個(gè)網(wǎng)關(guān)服務(wù)1)執(zhí)行“dockerrun--nameordersys_gateway2-d-p8763:87621c6ce25b2d54”命令啟用第二個(gè)網(wǎng)關(guān)服務(wù),用于配置Nnigx的負(fù)載均衡實(shí)現(xiàn),其中“1c6ce25b2d54”為網(wǎng)關(guān)鏡像ImageID,“-p8763:8762”將容器的8762端口映射到主機(jī)的8763,結(jié)果如圖5-53所示:圖5-53啟動(dòng)網(wǎng)關(guān)2)執(zhí)行“dockerps”命令,可以看到有兩個(gè)網(wǎng)關(guān)服務(wù),分別映射主機(jī)端口號(hào)為“8762”和“8763”,結(jié)果如圖5-54所示:圖5-54查看網(wǎng)關(guān)信息步驟5:配置本地Nignx文件執(zhí)行“vim/home/nginx/conf/nginx.conf”命令修改Nginx配置,在“http”下增加upstream負(fù)載模塊,這個(gè)模塊提供一個(gè)簡(jiǎn)單方法來(lái)實(shí)現(xiàn)在輪詢(xún)和客戶(hù)端IP之間的后端服務(wù)器負(fù)荷平衡,通過(guò)設(shè)置server跳轉(zhuǎn)服務(wù)器地址,設(shè)置weight輪詢(xún)權(quán)重的負(fù)載均衡算法。http{...upstreamsysorder.balance{ server31:8762weight=1; server31:8763weight=1; } server{ listen80; server_name31; location/{ roothtml; indexindex.htmlindex.htm;

#訪(fǎng)問(wèn)映射 proxy_passhttp://sysorder.balance; } error_page500502503504/50x.html; location=/50x.html{ roothtml; } }}步驟6:掛載配置文件啟動(dòng)Nginx容器1)執(zhí)行下面命令啟動(dòng)Nginx容器,其中docker啟動(dòng)時(shí)可以用“-v”完成配置文件的掛載。dockerrun--rm-d-p80:80--namesysorder-nginx\-v/home/nginx/www:/usr/share/nginx/html\-v/home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf\-v/home/nginx/logs:/var/log/nginx\nginx步驟7:驗(yàn)證Nginx負(fù)載均衡功能1)打開(kāi)Postman訪(fǎng)問(wèn)接口“http://31/dishservice/admin/dishes/toprecommend”,成功返回?cái)?shù)據(jù)代表Nginx成功跳轉(zhuǎn)到網(wǎng)關(guān),結(jié)果如圖5-55所示:圖5-55Nginx成功跳轉(zhuǎn)到網(wǎng)關(guān)2)重復(fù)上一步驟多次,訪(fǎng)問(wèn)Zipkin,打開(kāi)瀏覽器訪(fǎng)問(wèn)“http://31:9411/zipkin/”,結(jié)果如圖5-56所示:圖5-56訪(fǎng)問(wèn)Zipkin服務(wù)3)點(diǎn)擊“show”按鈕查看細(xì)節(jié),可以看到Nginx是按照“1:1”的權(quán)重分配不同的網(wǎng)關(guān)服務(wù)響應(yīng)請(qǐng)求,如圖5-57所示:圖5-57驗(yàn)證負(fù)載均衡4)執(zhí)行“top”命令來(lái)監(jiān)控linux的系統(tǒng)狀況,實(shí)時(shí)顯示系統(tǒng)中各個(gè)進(jìn)程的資源占用情況,結(jié)果如圖5-58所示:圖5-58top命令知識(shí)小結(jié)【對(duì)應(yīng)證書(shū)技能】在微服務(wù)架構(gòu)中,常常使用Nginx服務(wù)器的負(fù)載均衡功能,本任務(wù)中使用Docker容器構(gòu)建Nginx服務(wù)器,然后將容器中的“nginx.conf”配置文件通過(guò)“dockercp”命令復(fù)制到本地目錄,編輯“nginx.conf”配置文件,增加upstream負(fù)載模塊來(lái)實(shí)現(xiàn)負(fù)載均衡,最后使用“docker-v”命令將配置好的文件掛載到啟動(dòng)的Nginx服務(wù)器中。本任務(wù)知識(shí)技能點(diǎn)與等級(jí)證書(shū)技能的對(duì)應(yīng)關(guān)系見(jiàn)表5-12。任務(wù)2知識(shí)技能點(diǎn)對(duì)應(yīng)證書(shū)技能知識(shí)點(diǎn)技能點(diǎn)工作領(lǐng)域工作任務(wù)職業(yè)技能要求等級(jí)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論