蚂蚁课堂每特学院-2期nginx高可用_第1页
蚂蚁课堂每特学院-2期nginx高可用_第2页
蚂蚁课堂每特学院-2期nginx高可用_第3页
蚂蚁课堂每特学院-2期nginx高可用_第4页
蚂蚁课堂每特学院-2期nginx高可用_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Nginx实现高可nginx入)nginx是一款高性能的http服务器/反向服务器及电子邮件(IMAP/POP3服务器。由俄罗斯的程序设计师IgorSysoev所开发,测试nginx能够支支撑5万并发,并)反向服务nginx3、反向,负载均衡。当的量达到一定程度后,单台服务器不能满足用户的请

双击: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很重要一部分工作就是提供静态页面的,例如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,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完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的共享内存区来请求状态的特定键值,在上面的例子中是客户端IP($binary_remote_addr)。location块中的`limit_req`通过one共享内存区来实现限制/login.html的目的。IP连接/store10个。uri+ip作为监测的linux操作linuxCentos下,yumnginxyum源的方法获取安装。也可以通过直接安装包的方法,以下命令均需root权限执行:首先安装必要的库(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,如果浏览器出现 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(高可用)功能,负载均衡实现需要依赖Linux的虚拟服务内核模块(ipvs)VRRP协议实Keepalived的功能体系结构,大致分两层:用户空间(userspace)和内核空间(kernelspace)。内核空间:主要包括IPVS(IP虚拟服务器,用于实现网络服务的负载均衡)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会定时执行并且对的执行结果进行分析,动态调整vrrp_instance的优先级这里的权重weight是与下面的优先级priority有关如果执行了一次检查成功,则权重会-20100-2080,Master80Backup的优90,那么会进行自动的主备切换。如果执行结果为0并且weight配置的值大于0,则优先级会相应增加。如果执行结果不为0并且weight配置的值小于0,则优先级会相应减少。vrrp_scriptchk_nginx{interval2weight20##20(-}##VI_1vrrp_instanceVI_1state ##主节点为MASTER##IP的网络接口(网卡),IP地址所在的网络接口相同(virtual_router_id172 ##虚拟路由ID号mcast_src_ip72 ##本机ip地址priority100 ##优先级配置(0-254的值) advert_int1##组播间隔,俩个节点必须配置一致,默认1sauthentication{auth_typeauth_passbhz##真实生产环境下对进行匹}}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命令下都会出现一个虚拟ip,我们可以停掉已经不可用,keepalived会自动切换到另一台机器上。(七)nginxnginx查看如果你是root登陆的话(不是的话,切换到root用户,对*.sh赋可执行的权限od777 od+xnginxspringboot项目集群情况下Session共享解决方session会产生什么原因Sessionnginxhaproxy做的负载均衡Nginxip_hashhaproxybalancesourceip利 同步session数据原理图如Sessionspringbootmaven依<!--spring<!--springboot与redis应用基本环境配置<artifactId>spring-boot-starter-<!--springsession与redis应用基本环境配置,需要开启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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论