一、回顾
通过前面四章的学习,学会了Nginx的安装、配置虚拟主机、反向代理、负载均衡,这基本上就是 Nginx 的大概内容了。
我们知道,nginx 其实是一个代理,客户端通过 nginx 才能够访问到后面的应用服务器(tomcat等)。那么如果 nginx 宕机,即使后面的应用服务器没有出现故障,客户端也不能正常访问了,因此保证 nginx 的高可用十分重要。
二、keepalived
既然 nginx 如此重要,因此我们可以准备两台 nginx 服务器,组成nginx主/从服务器。我们使用 keepalived
来帮助实现主/从服务器的切换。
keepalived
有一个对外提供的 VIP(Virtual IP Address)
,它捆绑哪个 IP 地址就会使用哪一台 nginx 服务器。
- 当主服务器没有宕机时,VIP 指向主服务器,从服务器会不停给主服务器发送
心跳包
,主服务器会回复从服务器心跳包。 - 当从服务器没有收到主服务器返回的心跳包时,
keepalived
就认为主服务器宕机了,它会将 VIP 切换到从服务器,由从服务器提供服务。 - 当运维人员修复好主服务器后,
keepalived
会将 VIP 切换回主服务器,从服务器不再处理请求,只给主服务器发送心跳包。
三、解决超大并发
nginx 大概能够处理 5W 的并发,如果网站的并发已经超过了nginx 的极限,我们有两种解决办法:
(1)F5 负载均衡器,硬件实现,价格较贵
(2)LVS,免费开源,软件实现,大约是F5负载均衡器 60% 的性能
评论