nginx集群

Linux 集群架构

三世轮回 提交于 2020-02-22 12:05:38
Linux 集群架构 一、Linux 集群概述 根据功能划分为两大类:高可用和负载均衡 高可用集群,通常为两台服务器,一台工作,另外一台作为冗余;当提供服务的机器宕机,冗余将接替继续提供服务。实现高可用的开源软件有:heartbeat、keepalived 负载均衡集群,需要有一台服务器作为分发器,它负责把用户的请求分发给后端的服务器处理;在这个集群里,除了分发器外,就是给用户提供服务的服务器了,这些服务器数量至少为2台。实现负载均衡的开源软件有LVS、keepalived、haproxy、nginx,商业的有F5、Netscaler。 二、高可用集群配置 1. keepalived介绍 在这里我们使用keepalived来实现高可用集群,因为heartbeat在centos6上有一些问题,影响实验效果;keepalived通过VRRP(Virtual Router Redundancy Protocl)来实现高可用。在这个协议里会将多台功能相同的路由器组成一个小组,这个小组里会有1个master角色和N(N>=1)个backup角色。master会通过组播的形式向各个backup发送VRRP协议的数据包,当backup收不到master发来的VRRP数据包时,就会认为master宕机了。此时就需要根据各个backup的优先级来决定谁成为新的mater。

Linux系统之LVS+Keepalived实现

↘锁芯ラ 提交于 2020-02-21 22:30:06
1、简述lvs四种集群特点及使用场景   LVS集群有4种类型,分别是NAT、DR、TUN、FULLNAT   从工作方式来讲,NAT和FULLNAT都要修改请求报文的目标IP和目标端口(NAT)或源IP目标IP或源端口目标端口(FULLNAT),通常情况下,不建议修改源端口。这两种集群的特点是,请求报文和响应报文都要经由DIRECTOR(调度器),在NAT类型的集群中,后端real server一般都是和director在同一网段,且为私网地址。director应该是后端各real server 的网关。而FULLNAT各real server 的ip未必都在同一IP网络,但后端主机必须能与director通信即可。通常这两种类型的集群应用比较多的是NAT,FULLNAT应用比较少,且FULLNAT是非标准应用,所以我们要在使用FULLNAT时还需要额外的给Linux内核打补丁才能使用;NAT通常应用在一些请求流量没有太大的集群环境中,且director和各后端real server在同一IP网网络,一般用于隐藏后端主机的真实地址;FULLNAT常用于后端主机和director不再同一IP网络,但他们又可以正常通行的跨网段的内网集群环境中使用;   DR和TUN这两种类型的集群在用户请求报文上都没有修改操作,只是在原来的请求报文上各自封装了一个新的mac首部(DR)或ip首部

06:keepalive高可用集群(新)

守給你的承諾、 提交于 2020-02-18 22:16:33
1.1 keepalived高可用软件介绍 参考:haproxy: https://blog.csdn.net/l835311324/article/details/83031084 https://blog.csdn.net/qq_41772936/article/details/80718014 https://blog.51cto.com/3381847248/1977073 keepalive: https://blog.csdn.net/celeste7777/article/details/49096167 https://v3u.cn/a_id_117   1、keepalived--监控检查       注:keepalive软件有两种功能:监控检查、VRRP冗余协议       1. keepalive的作用是检测web服务器的状态,如果一台web服务器宕机,会将故障机器从集群中剔除       2. keepalieve会从以下三层来检查集群中的服务是否正常:         1) layer3: 通过ICMP协议ping测试         2) layer4: 比如web服务,keepalived检查80端口是否启动         3) layer7: 根据用户的设定检查服务器程序运行是否正常   2、keepalived--VRRP冗余协议原理     

毕业设计:文献参考(四)

六月ゝ 毕业季﹏ 提交于 2020-02-17 22:35:55
0x00 基本信息 标题:Nginx高并发负载均衡原理与策略比较研究 来源:工业控制计算机 作者:张炜森,陈涛,李康 时间:2018 0x01 研究背景 Nginx 作为当下的高并发连接的负载均衡服务器因其极强的性能得到广泛的使用。 分析了 Nginx 的工作模型并针对不同的负载均衡策略给出研究,探讨了 Nginx 多进程模型对于提升集群服务器响应能力的重要作用,同时对比了 Nginx 不同的负载均衡策略的性能差距,对实际应用服务器的开发具有重要的意义。 0x02 具体内容 提出了一个以Nginx服务器为核心的后台服务器架构,对如何加速提供服务进行了针对性的优化。 从原理上解释了Nginx为什么性能突出于其他服务器程序以及Nginx对性能优化所做的处理,以及多进程模式的优点: 减少加锁操作,降低加锁粒度。 进程间运行状态独立,互不影响。 单进程编程的开发方式降低了开发的难度 。 详细解释了Nginx服务器负载均衡的策略以及具体实现方式: 轮询 加权轮询 IP Hash算法 一致性Hash算法 响应时间优先分配策略 对不同的算法进行了比较,采用QPS作为衡量标准: 轮询策略在均衡性和容灾性方面表现较好,在一致性方面表现较差,通用性较强,在无需特殊需求的场景下都可以使用。 Fair 策略自适应性较好, 在网络环境多变的情况下表现较好,容灾性强,均衡性一般,一致性较差。 IP

LNMP架构——给php页面添加memcache缓存优化,搭建nginx+php+memcache+mysql

落爺英雄遲暮 提交于 2020-02-17 17:55:14
本次实验是在 LNMP架构——php+nginx+mysql源码编译搭建lnmp环境 基础上进行的,lnmp架构已经搭建好,接下来我将给php添加缓存memcache。 文章目录 一、认识memcache 1、弄清静态缓存和动态缓存 2、什么是MemCache 3、MemCache的工作流程 4、MemCache访问模型 5、Memcache特性和限制 6、memcache适用场景 二、给php页面添加静态缓存memcache 1、实验思想 2、实验环境 3、实验 总结 一、认识memcache 1、弄清静态缓存和动态缓存 静态缓存:生成静态页面——缓存的是整个页面; 动态缓存:仅对数据库中的数据进行了缓存,即“通过动态缓存,不需要再读取数据库了,直接通过缓存文件来调取相应数据”; 2、什么是MemCache Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。 3、MemCache的工作流程 memcache服务器先检查客户端的请求数据是否在memcached中,如有,直接把请求数据返回,不再对数据库进行任何操作;如果请求的数据不在memcached中,就去查数据库

22、lnmp_nginx反向代理(负载均衡)、高可用

被刻印的时光 ゝ 提交于 2020-02-15 23:43:07
负载均衡,根据ip和端口号找到相应的web服务器站点(即端口区分): 22.1、nginx的负载均衡: 1、介绍: 网站的访问量越来越大,服务器的服务模式也得进行相应的升级,比如分离出数据库服务器、分离出图片作为单独服务,这些是简单的数据的负载均衡, 将压力分散到不同的机器上。有时候来自web前端的压力,也能让人十分头痛。怎样将同一个域名的访问分散到两台或更多的机器上呢?这其实就是另一 种负载均衡了,nginx自身就可以做到,只需要做个简单的配置就行。nginx不单可以作为强大的web服务器,也可以作为一个反向代理服务器,而且nginx 还可以按照调度规则实现动态、静态页面的分离,可以按照轮询、ip哈希、URL哈希、权重等多种方式对后端服务器做负载均衡,同时还支持后端服务器的健康检查。 2、nginx的反向代理和负载均衡的区别: (1)负载均衡需要通过反向代理来实现; (2)反向代理就是指nginx作为前端服务器,将请求转发到后端,再将后端服务器的结果,返回给客户端; (3)它在中间做了一个代理服务器的角色; (4)负载均衡对反向代理增加了一些策略,因为后端是多台服务器,nginx会根据设定的策略将请求转发给 一个相对空闲的服务器,对负载进行分流,减轻服务器压力; 22.2、nginx 的 upstream目前支持 4 种方式的分配 1、轮询(默认)  

配置阿里云SLB全站HTTPS集群

给你一囗甜甜゛ 提交于 2020-02-14 00:22:13
配置阿里云SLB全站HTTPS集群(以下内容仅为流程,信息可能有些对应不上) 1 登录阿里云购买两台实例 1.1 按量付费购买两台实例 1.2 配置网络可以不选择分配外网 1.3 自定义密码 1.4 购买完成 1.5 实例列表 2 购买SLB实例 2.1 按量付费购买SLB实例 2.2 SLB实例列表 3. 配置负载均衡实例端口转发 3.1 配置SLB服务器5555端口转发到服务器的22端口(另一台同样配置6666端口转发) 3.2 配置SLB服务器80端口负载均衡到两台服务器的80端口 4. 配置服务器 4.1 利用端口转发连接没有外网的服务器实例(两台机器) 4.2 修改主机名并安装nginx(两台机器) [root@iZuf6ghkj6xlvmskd7k9e7Z ~]# hostnamectl set-hostname test01 [root@iZuf6ghkj6xlvmskd7k9e7Z ~]# bash [root@test01 ~]# yum install -y nginx 4.3 配置并启动nginx(两台机器) [root@test01 ~]# vim /etc/nginx/nginx.conf server { listen 80; server_name test.mumusir.com; root /usr/share/nginx/html; }

docker-compose部署tomcat集群和nginx负载均衡

末鹿安然 提交于 2020-02-13 22:42:48
docker-compose.yml version : "3" #虚拟网络配置,分配虚拟IP地址,当前配置使容器之间组成局域网(与driver的选择有关) networks : my-net : driver : bridge ipam : driver : default config : - subnet : 192.168.0.0/24 #设置子网地址空间(容器IP范围) services : nginx : image : nginx container_name : "mynginx" networks : my-net : ipv4_address : 192.168.0.2 #指定nginx容器IP地址 ports : - "80 : 80" #对主机80端口的访问会映射到容器的80端口 volumes : - /usr/local/docker/docker - compose/nginx/nginx.conf : /etc/nginx/nginx.conf - /usr/local/docker/docker - compose/nginx/log : /var/log/nginx - /usr/local/docker/docker - compose/nginx/html : /usr/share/nginx/html #tomcat启动完成再启动nginx

nginx与tomcat集群

耗尽温柔 提交于 2020-02-13 08:22:15
nginx 是一个http服务器,是由俄罗斯人发明的,目前主流的服务器,作为负载均衡服务器,性能非常好,最高支持5万个并发连接数,在淘宝被广泛使用(据说被淘宝的工程师优化到单机200万的并发,非常的厉害) 单个tomcat最大支持的用户并发量默认是150,在测试过程中250左右开始会有性能的问题 举个栗子,有3台tomcat,有N多请求同时经过nginx的时候,nginx作为一个路由,把请求分别分发给这3台tomcat,以此减少tomcat负重 作为集群,当其中一台tomcat宕机,出现故障,那么nginx将会自动排除这个服务 tomcat 与 nginx 之间通过ajp协议,这个协议提供很高的通信速度以及性能 另外,nginx也能够存放静态资源,项目中会存在很多图片,以及静态页面,如果把这些静态资源放入nginx中,那么性能会提高,速度是毫秒级别的,非常快 在动静分离的项目中,所有静态资源(HTML, CSS, JavaScript)都放入此服务器中,客户端请求到nginx,这样将会拦截大量的非动态请求,以此提高性能 工作原理: 在upstream bakend 中配置多个tomcat服务器,每个请求按照不同的时间顺序去请求不同的tomcat,如果在某一时段中有tomcat挂了,那么会被自动剔除 ip_hash:主要用于解决session问题,使用后

初识了解nginx

∥☆過路亽.° 提交于 2020-02-13 03:37:34
Nginx是啥? 是一个高性能、轻量级的HTTP和反向代理web服务器 具有稳定性好,丰富的功能集,占用内存少,并发能力强等特点 能够支持高达 50,000 个并发连接数的响应 功能点 反向代理 前端资源代理服务器 负载均衡 稍微了解一下 反向代理: 用户发送请求访问 http://ip:端口/服务1 用户发送请求访问 http://ip:端口/服务2 用户发送请求访问 http://ip:端口/服务3 👇 请求发送到nginx服务器,nginx可以根据访问的url地址判断将请求发给哪个具体的服务器处理 👇 服务1 服务2 服务3 http服务器功能: 用户发送请求访问 http://ip:端口 访问首页 👇 nginx可以运行静态资源,包括html,css,js,图片等,效率比tomcat要高 静态资源可以放在nginx种的html文件夹下(一般系统首页,商品详情页也可以放在里面运行使用) 👇 通过ajax从服务中获取数据 负载均衡: 用户发送请求访问 http://ip:端口 👇 nginx可以接收所有请求,并将请求分发给tomcat集群服务器 👇 服务x、服务x、服务x、 来源: CSDN 作者: Splendid 、 链接: https://blog.csdn.net/Tang_cancan/article/details/104283891