螞蟻課堂每特學(xué)院-2期nginx高可用_第1頁
螞蟻課堂每特學(xué)院-2期nginx高可用_第2頁
螞蟻課堂每特學(xué)院-2期nginx高可用_第3頁
螞蟻課堂每特學(xué)院-2期nginx高可用_第4頁
螞蟻課堂每特學(xué)院-2期nginx高可用_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余20頁可下載查看

下載本文檔

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

文檔簡介

Nginx實(shí)現(xiàn)高可nginx入)nginx是一款高性能的http服務(wù)器/反向服務(wù)器及電子郵件(IMAP/POP3服務(wù)器。由俄羅斯的程序設(shè)計(jì)師IgorSysoev所開發(fā),測試nginx能夠支支撐5萬并發(fā),并)反向服務(wù)nginx3、反向,負(fù)載均衡。當(dāng)?shù)牧窟_(dá)到一定程度后,單臺服務(wù)器不能滿足用戶的請

雙擊:nginx.exenginx,nginx演示下nginxwindowsnginx.exesstopnginxnginx.confnginx簡單指令格式:[namesimpledirectivesblockdirectives,令為上下文(e.g.events,http,server,location)serverserver_namelocalhost;location/{rootindexindex.html} 500502503504/50x.html;location=/50x.html{root}}Webserver很重要一部分工作就是提供靜態(tài)頁面的,例如images,htmlpage。nginx可以通過不同的配置,根據(jù)request請求,從本地的 下的serverserver_namelocalhost;location/{rootindexindex.html} 500502503504/50x.html;location=/50x.html{root}}nginx什么是反向反向(ReverseProxy)方式是指以服務(wù)器來接受internet上的連接請求,然后將Tomcat使用nginx反向直接跳轉(zhuǎn)到Hostnginx.confserverserverlocation/; indexindex.html}}serverlocation/; indexindex.html}}nginxLoadBalance,其意思就是分?jǐn)偟蕉鄠€(gè)操作單元上進(jìn)行執(zhí)行,例如Web服務(wù)器、FTP服務(wù)器、企業(yè)關(guān)鍵應(yīng)用服務(wù)器和其它關(guān)鍵任務(wù)服務(wù)器等,從而共同完11(默認(rèn)每個(gè)請求按時(shí)間順序逐一分配到不同的后端服務(wù)器,如果后端服務(wù)器upstreambackserverserver4;server}2upstreambackserverserver4server5}3、IP綁定 ip的hash結(jié)果分配,這樣每個(gè)訪客固定 器,可以解決session的問題。upstreambackserver{serverserver} upstreambackserver{serverserver1;serverserver2;} url的hash結(jié)果來分配請求,使每個(gè)url定向到同一個(gè)后端服務(wù)器,upstreambackserver{serversquid1:3128;serversquid2:3128;hash$request_uri;hash_methodhash$request_uri;hash_methodcrc32;}upstreamupstreambackserverserverserver}server location/{ index.html}}serverserver location/{ proxy_connect_timeout1;}}nginx解決跨域問serverserver location/A{ index.html}location/B index.htmlindex.htm;}}nginxlocationlocation~.*\.(jpg|jpeg|JPG|png|gif|icon)${valid_referersblockedhttp:/return403;}}nginxlimit_req_zone$binary_remote_addrzone=one:10mlimit_req_zone$binary_remote_addrzone=one:10mserverserverlocation/login.html{limit_req}}`limit_req_zone`命令設(shè)置了一個(gè)叫one的共享內(nèi)存區(qū)來請求狀態(tài)的特定鍵值,在上面的例子中是客戶端IP($binary_remote_addr)。location塊中的`limit_req`通過one共享內(nèi)存區(qū)來實(shí)現(xiàn)限制/login.html的目的。IP連接/store10個(gè)。uri+ip作為監(jiān)測的linux操作linuxCentos下,yumnginxyum源的方法獲取安裝。也可以通過直接安裝包的方法,以下命令均需root權(quán)限執(zhí)行:首先安裝必要的庫(nginx中g(shù)zip模塊需要zlib庫,rewrite模塊需要pcre庫,ssl功能需要openssl庫)。選定/usr/local為安裝 PCRE$cd$cd$$tar-zxvfpcre-$cdpcre-$$$make./configureconfigure:error:YouneedaC++compilerforC++yuminstall-ygccgcc-zlib$cd$cd$$tar-zxvfzlib-$cdzlib-$$$$make$cd$cd$$tar-zxvfopenssl-$$$make$cd$cd$$tar-zxvfnginx-$cdnginx-$./configure--$$makeNginxlibpcre.so.1如果是32[root@lee~]#ln-s/usr/local/lib/libpcre.so.1如果是64[root@lee~]#ln-s/usr/local/lib/libpcre.so.1然后在啟動(dòng)nginxOK[root@lee~]#$$檢查是否啟動(dòng)成功:打開瀏覽器此機(jī)器的IP,如果瀏覽器出現(xiàn) etonginx!則表示Nginx已經(jīng)安裝并運(yùn)行成功。$/usr/local/nginx/sbin/nginx$/usr/local/nginx/sbin/nginx–s$/usr/local/nginx/sbin/nginx–s$/usr/local/nginx/sbin/nginx$pkillNginxKeepalivedKeepalivedClayer3,4&7交換機(jī)制軟件,347層交換機(jī)的功能。主要提供loadbalancing(負(fù)載均衡)high-availability(高可用)功能,負(fù)載均衡實(shí)現(xiàn)需要依賴Linux的虛擬服務(wù)內(nèi)核模塊(ipvs)VRRP協(xié)議實(shí)Keepalived的功能體系結(jié)構(gòu),大致分兩層:用戶空間(userspace)和內(nèi)核空間(kernelspace)。內(nèi)核空間:主要包括IPVS(IP虛擬服務(wù)器,用于實(shí)現(xiàn)網(wǎng)絡(luò)服務(wù)的負(fù)載均衡)VRRPStack:負(fù)載負(fù)載均衡器之間切換FailOver,如果只用一個(gè)負(fù)VRRP不是必須的。主要的功能。換言之,可以沒有VRRPStackIPVSwrapperipvsNetlinkReflectorvrrpvipkeepalived地址:-cdkeepalived-1.2.18/&&./configure--prefix=/usr/local/keepalivedmake&&makeinstallkeepalivedLinuxa),件夾,將eeled配置文進(jìn)行receeled然后keepalived文件ln-s/usr/local/sbin/keepalived/usr/sbin/keepalivedservicekeepalivedstartservicekeepalivednginxkeepalived.conf配置文件說明:(一!ConfigurationFilefor##}##keepalived會定時(shí)執(zhí)行并且對的執(zhí)行結(jié)果進(jìn)行分析,動(dòng)態(tài)調(diào)整vrrp_instance的優(yōu)先級這里的權(quán)重weight是與下面的優(yōu)先級priority有關(guān)如果執(zhí)行了一次檢查成功,則權(quán)重會-20100-2080,Master80Backup的優(yōu)90,那么會進(jìn)行自動(dòng)的主備切換。如果執(zhí)行結(jié)果為0并且weight配置的值大于0,則優(yōu)先級會相應(yīng)增加。如果執(zhí)行結(jié)果不為0并且weight配置的值小于0,則優(yōu)先級會相應(yīng)減少。vrrp_scriptchk_nginx{interval2weight20##20(-}##VI_1vrrp_instanceVI_1state ##主節(jié)點(diǎn)為MASTER##IP的網(wǎng)絡(luò)接口(網(wǎng)卡),IP地址所在的網(wǎng)絡(luò)接口相同(virtual_router_id172 ##虛擬路由ID號mcast_src_ip72 ##本機(jī)ip地址priority100 ##優(yōu)先級配置(0-254的值) advert_int1##組播間隔,倆個(gè)節(jié)點(diǎn)必須配置一致,默認(rèn)1sauthentication{auth_typeauth_passbhz##真實(shí)生產(chǎn)環(huán)境下對進(jìn)行匹}}70##ip(vip)}}(二!ConfigurationFilefor}vrrp_scriptchk_nginxinterval2weight-}vrrp_instanceVI_1{stateBACKUPpriority90advert_int1authentication{auth_passbhz}}virtual_ipaddress{}}(三)nginx_check.shA=`ps-Cnginx–no-header|wc-l`if[$A-eq0];thensleep2if[`ps-Cnginx--no-header|wc-l`-eq0];thenkillallkeepalived(四)我們需要把master的keepalived配置文件copy到master機(jī)器(172)的/etc/keepalived/backupkeepalivedcopybackup機(jī)器(173)的/etc/keepalived/文件夾下,最后把nginx_check.sh分別copy到兩臺機(jī)器的 od+x(六)2nginxservicekeepalivedstartps-ef|grepps-ef|grep可以進(jìn)試,首先看一下倆臺機(jī)器的ipa命令下都會出現(xiàn)一個(gè)虛擬ip,我們可以停掉已經(jīng)不可用,keepalived會自動(dòng)切換到另一臺機(jī)器上。(七)nginxnginx查看如果你是root登陸的話(不是的話,切換到root用戶,對*.sh賦可執(zhí)行的權(quán)限od777 od+xnginxspringboot項(xiàng)目集群情況下Session共享解決方session會產(chǎn)生什么原因Sessionnginxhaproxy做的負(fù)載均衡Nginxip_hashhaproxybalancesourceip利 同步session數(shù)據(jù)原理圖如Sessionspringbootmaven依<!--spring<!--springboot與redis應(yīng)用基本環(huán)境配置<artifactId>spring-boot-starter-<!--springsession與redis應(yīng)用基本環(huán)境配置,需要開啟redis后才可以使用,不然啟動(dòng)Springboot會報(bào)錯(cuò)<artifactId>spring-session-data-importimportorg.springframework.beans.factory.annotation.Value;importorg.springframework.context.annotation.Bean;importimport//這個(gè)類用配置redis服務(wù)器的連@EnableRedisHttpSession(maxInactiveIntervalInSeconds=1800)publicclassSessionConfig{冒號后的值為沒有配置文件時(shí),制動(dòng)裝載的默認(rèn)值StringHostName;intpublicJedisConnectionFactoryconnectionFactory(){JedisConnectionFactoryconnection=newJedisConnectionFactory();returnconnection;}}初始化////初始化Session配publicclassSessionInitializerpublicSessionInitializer()}}配置文控制器層代importjavax.servlet.http.HttpSession;importorg.springframework.boot.SpringApplication;importorg.springframework.web.bind.annotation.RequestMap impor

溫馨提示

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

最新文檔

評論

0/150

提交評論