螞蟻課堂每特學院-2期nginx高可用_第1頁
螞蟻課堂每特學院-2期nginx高可用_第2頁
螞蟻課堂每特學院-2期nginx高可用_第3頁
螞蟻課堂每特學院-2期nginx高可用_第4頁
螞蟻課堂每特學院-2期nginx高可用_第5頁
免費預覽已結束,剩余20頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

雙擊: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可以通過不同的配置,根據request請求,從本地的 下的serverserver_namelocalhost;location/{rootindexindex.html} 500502503504/50x.html;location=/50x.html{root}}nginx什么是反向反向(ReverseProxy)方式是指以服務器來接受internet上的連接請求,然后將Tomcat使用nginx反向直接跳轉到Hostnginx.confserverserverlocation/; indexindex.html}}serverlocation/; indexindex.html}}nginxLoadBalance,其意思就是分攤到多個操作單元上進行執(zhí)行,例如Web服務器、FTP服務器、企業(yè)關鍵應用服務器和其它關鍵任務服務器等,從而共同完11(默認每個請求按時間順序逐一分配到不同的后端服務器,如果后端服務器upstreambackserverserver4;server}2upstreambackserverserver4server5}3、IP綁定 ip的hash結果分配,這樣每個訪客固定 器,可以解決session的問題。upstreambackserver{serverserver} upstreambackserver{serverserver1;serverserver2;} url的hash結果來分配請求,使每個url定向到同一個后端服務器,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`命令設置了一個叫one的共享內存區(qū)來請求狀態(tài)的特定鍵值,在上面的例子中是客戶端IP($binary_remote_addr)。location塊中的`limit_req`通過one共享內存區(qū)來實現(xiàn)限制/login.html的目的。IP連接/store10個。uri+ip作為監(jiān)測的linux操作linuxCentos下,yumnginxyum源的方法獲取安裝。也可以通過直接安裝包的方法,以下命令均需root權限執(zhí)行:首先安裝必要的庫(nginx中gzip模塊需要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然后在啟動nginxOK[root@lee~]#$$檢查是否啟動成功:打開瀏覽器此機器的IP,如果瀏覽器出現(xiàn) etonginx!則表示Nginx已經安裝并運行成功。$/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交換機制軟件,347層交換機的功能。主要提供loadbalancing(負載均衡)high-availability(高可用)功能,負載均衡實現(xiàn)需要依賴Linux的虛擬服務內核模塊(ipvs)VRRP協(xié)議實Keepalived的功能體系結構,大致分兩層:用戶空間(userspace)和內核空間(kernelspace)。內核空間:主要包括IPVS(IP虛擬服務器,用于實現(xiàn)網絡服務的負載均衡)VRRPStack:負載負載均衡器之間切換FailOver,如果只用一個負VRRP不是必須的。主要的功能。換言之,可以沒有VRRPStackIPVSwrapperipvsNetlinkReflectorvrrpvipkeepalived地址:-cdkeepalived-1.2.18/&&./configure--prefix=/usr/local/keepalivedmake&&makeinstallkeepalivedLinuxa),件夾,將eeled配置文進行receeled然后keepalived文件ln-s/usr/local/sbin/keepalived/usr/sbin/keepalivedservicekeepalivedstartservicekeepalivednginxkeepalived.conf配置文件說明:(一!ConfigurationFilefor##}##keepalived會定時執(zhí)行并且對的執(zhí)行結果進行分析,動態(tài)調整vrrp_instance的優(yōu)先級這里的權重weight是與下面的優(yōu)先級priority有關如果執(zhí)行了一次檢查成功,則權重會-20100-2080,Master80Backup的優(yōu)90,那么會進行自動的主備切換。如果執(zhí)行結果為0并且weight配置的值大于0,則優(yōu)先級會相應增加。如果執(zhí)行結果不為0并且weight配置的值小于0,則優(yōu)先級會相應減少。vrrp_scriptchk_nginx{interval2weight20##20(-}##VI_1vrrp_instanceVI_1state ##主節(jié)點為MASTER##IP的網絡接口(網卡),IP地址所在的網絡接口相同(virtual_router_id172 ##虛擬路由ID號mcast_src_ip72 ##本機ip地址priority100 ##優(yōu)先級配置(0-254的值) advert_int1##組播間隔,倆個節(jié)點必須配置一致,默認1sauthentication{auth_typeauth_passbhz##真實生產環(huá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機器(172)的/etc/keepalived/backupkeepalivedcopybackup機器(173)的/etc/keepalived/文件夾下,最后把nginx_check.sh分別copy到兩臺機器的 od+x(六)2nginxservicekeepalivedstartps-ef|grepps-ef|grep可以進試,首先看一下倆臺機器的ipa命令下都會出現(xiàn)一個虛擬ip,我們可以停掉已經不可用,keepalived會自動切換到另一臺機器上。(七)nginxnginx查看如果你是root登陸的話(不是的話,切換到root用戶,對*.sh賦可執(zhí)行的權限od777 od+xnginxspringboot項目集群情況下Session共享解決方session會產生什么原因Sessionnginxhaproxy做的負載均衡Nginxip_hashhaproxybalancesourceip利 同步session數(shù)據原理圖如Sessionspringbootmaven依<!--spring<!--springboot與redis應用基本環(huán)境配置<artifactId>spring-boot-starter-<!--springsession與redis應用基本環(huán)境配置,需要開啟redis后才可以使用,不然啟動Springboot會報錯<artifactId>spring-session-data-importimportorg.springframework.beans.factory.annotation.Value;importorg.springframework.context.annotation.Bean;importimport//這個類用配置redis服務器的連@EnableRedisHttpSession(maxInactiveIntervalInSeconds=1800)publicclassSessionConfig{冒號后的值為沒有配置文件時,制動裝載的默認值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)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論