Nginx+keepalived双主配置(双机双主热备)
简介
这种方案,使用两个VIP地址,前端使用2台机器,互为主备,同时有两台机器工作,当其中一台机器出现故障,两台机器的请求转移到一台机器负担,非常适合于生产架构环境。
一、网络拓扑
四台虚拟机如下所示:
为什么使用keepalived呢?
使用keepalived就用来做高可用的,提供虚拟VIP
将两台机器上的/etc/keepalived/keepalived.conf配置文件修改成如下:
Nginx-A:
Nginx-B:
然后修改两台机器上的nginx首页
chk_nginx.sh脚本也不用改,然后重启keepalived
3.1 查看服务器上的IP地址
查看Nginx-A的地址:
查看Nginx-B的地址:
会多出两个虚拟IP
首先通过两个VIP地址访问如下:
3.2、关闭Nginx-A上的nginx,keepalived将在2s内将它重新启动
3.3、关闭Nginx-A上的keepalived,VIP会切换到Nginx-B上
不管访问的是:http://192.168.182.157/ 还是http://192.168.182.156/ 都将导到Nginx-B上去。
同时会发现Nginx-A上的虚拟IP会消失
windowsnginx配置后隔段时间不访问就上不了了
1、检查Nginx配置文件是否正确,特别是是否设置了自动停止。2、检查服务器运行状态是否正常,例如是否有足够的内存、磁盘空间等。可以通过运行`top`命令查看系统负载情况,以及通过`df-h`命令查看磁盘使用情况。3、检查Nginx日志,查看是否有错误信息或者访问日志,查看最近的请求记录。4、考虑将Nginx的keep...
傻傻分不清的TCP keepalive和HTTP keepalive
HTTP keepalive是应用层的东西,在上生产时对外提供服务的应用程序都会有keepalive参数,例如Gunicorn的keepalive、Nginx的keepalive_timeout。通过这个参数,我们能在更高级的层面控制等待下一个数据的时长。还有,如果同一台服务器有N个Web服务,TCP keepalive参数是全局生效,众口难调。如果你的网络结构...
nginx配置完 并发了还是上不去
每个程序允许的最多连线数, 理论上每台nginx 伺服器的最大连线数为worker_processes*worker_connections。 6. keepalive_timeout 60; keepalive 超时时间。 7. client_header_buffer_size 4k; 客户端请求头部的缓冲区大小,这个可以根据系统分页大小来设定,一般一个请求头的大小不会超过1k,不过由于一般系统分页都要...
nginx tcp 长连结预设多长时间断开连结 如何设定
keepalive_timeout:设定客户端连线保持活动的超时时间。在超过这个时间之后,伺服器会关闭该连线。 client_header_tomeout:设定客户端请求头读取超时时间。如果超过这个时间,客户端还没有传送任何资料,Nginx将返回“Request time out(408)”错误。 client_body_timeout:设定客户端请求主体读取超时时间。如果超过这个时间,...
Nginx是什么,有什么优点
Nginx的高可靠性来自于其核心框架代码的优秀设计、模块设计的简单性;另外,官方提供的常用模块都非常稳定,每个worker进程相对独 立,master进程在1个worker进程出错时可以快速“拉起”新的worker子进程提供服务。(4)低内存消耗 一般情况下,10 000个非活跃的HTTP Keep-Alive连接在Nginx中仅消耗2.5MB的...
【nginx】nginx代理websocket,reload nginx
将nginx reload,websocket连接未断开,当前已经维持的连接应该会一直在老进程持续下去,直到自己的生命周期结束(主动或被动),新晋连接会使用新的进程处理。HTTP keep-alive的场景也是类似的。在实际使用过程中,由于nginx可能会多次reload,这样会导致shutting down进程会持续增加,最终会导致Nginx OOM...
WebSocket加入心跳包防止自动断开连接
2. 也可以在前端页面也添加心跳机制保持连接。系统发现websocket每隔10分钟自动断开连接,搜了很多博客都说设置一下nginx的 keepalive_timeout proxy_connect_timeout proxy_send_timeout proxy_read_timeout 这四个字段的时长即可,然而好像并不奏效。遂采取心跳包的方式每隔9分钟客户端...
【nginx】如何解决使用nginx作为反向代理端口耗尽问题?
Use HAProxy to load balance 300k concurrent tcp socket connections: Port Exhaustion, Keep-alive and others https:\/\/www.linangran.com\/?p=547 Nginx作为反向代理服务器是否可以突破单机65535TCP连接的限制?如果是,是如何实现的?https:\/\/www.zhihu.com\/question\/306520501 Nginx 高级篇:单机...
面试官:请问Nginx为什么比Apache性能好
有效数据的数目,错误代码;sendfile (FreeBSD 3.1+), sendfile (Linux 2.2+), sendfile64 (Linux 2.4.21+), 和 sendfilev (Solaris 8 7\/01+) 支持;输入过滤 (FreeBSD 4.1+) 以及 TCP_DEFER_ACCEPT (Linux 2.4+) 支持;10,000 非活动的 HTTP keep-alive 连接仅需要 2.5M 内存...
Nginx配置文件的详细说明
access_log \/var\/log\/nginx\/access.log;sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用,必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I\/O处理速度,降低系统的uptime.sendfile on;tcp_nopush on;连接超时时间 kee...
仰章肝得: 完全可以实现的 nginx可以设置多个server,相互之间互不影响,用keepalived做负载的应用可以和图片服务器设置为不同的server,当然,也可以将图片服务器设置到两个服务器,也使用keepalived做图片服务器负载均衡.
陕西省18090943006: nginx做了keepalived是不是就只有一台主机可以分配业务了 - ?
仰章肝得: keepalived中有一个虚拟ip(VIP),正常情况下VIP是在master机器上,backup机器备用,主机宕机后backup接管VIP,这样来说同一时间只有一台机器工作,另一台备用,就浪费一台机器,就出现双主,就是把master上再配一个backup,backup机器上配一个
陕西省18090943006: nginx+keepalived 安装在同一台机器吗 - ?
仰章肝得: 可以.而且这种组合是建议的.通常有LVS+Keepalived Nginx+keepalived两种方式
陕西省18090943006: 如何实现Nginx+Keepalived中Nginx进程的高可用 - ?
仰章肝得: 此架构我简单说明下: 一般为了维护方便,企业网站的服务器都在自己的内部机房里,只开放了Keepalived的VIP地址的两个端口80、443,通过Juniper SSG550防火墙映射出去,外网DNS对应映射后的公网IP.此架构的防火墙及网络安全说明...
陕西省18090943006: 关于keepalived公网IP配置的 - ?
仰章肝得: 1、如果你有三个公网IP(我不明白为什么直接用公网IP,而不是私有IP,也许你公网ip地址多吧),两台nginx各使用一个公网IP,另外剩余的公网ip作为keepalived的VIP来使用,而不是将VIP地址设置为nginx1的ip地址2、如果想使用域名进行访问,需要在域名解析中添加相应A记录3、如果是内部测试,则在hosts文件中手动添加域名和ip之间的地址解析
陕西省18090943006: 请教lvs + keepalived可以只用两台服务器吗 - ?
仰章肝得: 基于lvs的话,需要两台服务器内容一致(发布的虚拟主机),lvs是内核直接转发,你这样的话,如果不改动服务器配置的话,建议用nginx的反向代理.
陕西省18090943006: keepalived nginx脚本不执行什么原因 - ?
仰章肝得: 你理解错了.Dec 12 07:38:59 ubuntu Keepalived_vrrp: chk_redis no match, ignoring..这行日志表示chk_redis脚本的执行结果为空,未匹配权值修改条件,忽略掉.
陕西省18090943006: 如何监控 nginx keepalived - ?
仰章肝得: 有,例如新兴的蚁巡运维平台,它能够对网段内的Nginx进行自动发现并将其纳入监控范围,同时主动巡检其相关的运行状态、关键指标实时数据等,监控可精确至活动连接数、正在接收/处理的请求数量、总连接数量、失败连接数等,同时可自定义设置阈值,确保及时隐患的及时发现,并提供多种告警方式进行预警.
陕西省18090943006: 咨询lvs+keepalived能实现负载均衡的双主双备吗??
仰章肝得: 第二个问题很容易,可以做邮件集群,有没有人做我就不知道了,我没做过.不管你信不信,反正我信了!第一个问题我真不知道,如果可以估计也比较复杂,就算配置顺利,万一出问题了排错就麻烦了.但是如果只提供http服务,可以用keepalived+nagix或keepalived+haproxy等方案来实现“只使用2台主机的负载均衡的双主双备”
陕西省18090943006: nginx 负载均衡 服务器有多个站点,改怎么设置选择我需要的 - ?
仰章肝得: 负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦. 负载均衡 先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可以解释N台服务器平均分...