keepalived是一个类似于layer3, 4 & 5交换机制的软件,也就是我们平时说的第3层、第4层和第5层交换。Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机, 或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务 器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器。
Layer3,4&5工作在IP/TCP协议栈的IP层,TCP层,及应用层,原理分别如下:
Layer3:Keepalived使用Layer3的方式工作式时,Keepalived会定期向服务器群中的服务器
发送一个ICMP的数据包(既我们平时用的Ping程序),如果发现某台服务的IP地址没有激活,Keepalived便报告这台服务器失效,并将 它从服务器群中剔除,这种情况的典型例子是某台服务器被非法关机。Layer3的方式是以服务器的IP地址是否有效作为服务器工作正常与否的标准。在本文 中将采用这种方式。
Layer4:如果您理解了Layer3的方式,Layer4就容易了。Layer4主要以TCP端口的状态来决定服务器工作正常与否。如web server的服务端口一般是80,如果Keepalived检测到80端口没有启动,则Keepalived将把这台服务器从服务器群中剔除。
Layer5:Layer5就是工作在具体的应用层了,比Layer3,Layer4要复杂一点,在网络上占用的带宽也要大一些。 Keepalived将根据用户的设定检查服务器程序的运行是否正常,如果与用户的设定不相符,则Keepalived将把服务器从服务器群中剔除。
前言* 随着Nginx在国内的发展潮流,越来越多的互联网公司都在使用Nginx。
Nginx高性能、稳定性成为IT人士青睐的http和反向代理服务器。今天我们来一起来温习一下Nginx+Keepalived高可用配置,鉴于互联网类似的优秀文章很多,这里仅供参考和交流。
一、实验环境:
系统环境:CentOS 6.0 x86_64
Nginx版本:nginx v1.2.4
Keepalived版本:keepalived v1.2.1
Nginx-1:192.9.117.160 (Master)
Nginx-2:192.9.117.161 (Backup)
二、Nginx安装配置:
分别在两台服务器安装Nginx、keepalived,如下:
yum install -y pcre-devel 安装perl 兼容的正规表达式库
tar -xzf nginx-1.2.4.tar.gz && cd nginx-1.2.4 ; sed -i -e 's/1.2.2//g' -e 's/nginx\//TDTWS/g' -e 's/"NGINX"/"TDTWS"/g' src/core/nginx.h &&./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module
三、Keepalived安装配置:
tar -xzvf keepalived-1.2.1.tar.gz &&cd keepalived-1.2.1 && ./configure && make && make install
if
[ $? -eq 0 ];then
echo "Install keepalived success,please waiting configure keepalived ..............."
else
echo "Install keepalived failed ,please check install version !"
exit 0
fi
DIR=/usr/local/ ;cp $DIR/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/ ; cp $DIR/etc/sysconfig/keepalived /etc/sysconfig/ ; mkdir -p /etc/keepalived ; cp $DIR/sbin/keepalived /usr/sbin/
Nginx、Keepalived软件安装完毕,接下来进行详细配置。
四、配置Keepalived:
两台服务器端keepalived.conf内容都为如下,都设置为backup,不抢占,注意修改优先级不同:
! Configuration File for keepalived
global_defs {
notification_email {
wgkgood@163.com
}
notification_email_from wgkgood@163.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script chk_nginx {
script "/data/sh/check_nginx.sh"
interval 2
weight 2
}
# VIP1
vrrp_instance VI_1 {
state BACKUP
interface eth0
lvs_sync_daemon_inteface eth0
virtual_router_id 151
priority 100
advert_int 5
nopreempt
authentication {
auth_typePASS
auth_pass 1111
}
virtual_ipaddress {
192.9.117.162
}
track_script {
chk_nginx
}
}
如上配置,我们需要自己建立check_nginx脚本,以方便检查本地Nginx是否存活更好的切换。Check_nginx.sh脚本内容如下:
#!/bin/bash
#auto check nginx process
#2012-10-16 wugk
killall -0 nginx
if
[[ $? -ne 0 ]];then
/etc/init.d/keepalived stop
fi
五、Nginx 配置:
在两台Nginx服务器分别新建index.html测试页面,然后启动Nginx服务测试。
访问VIP http://192.9.117.162 如下:
Down掉192.9.117.160的Nginx服务,分别查看keepalived后台日志和ping VIP日志如下:
Oct 16 16:47:48 localhost Keepalived: Stopping Keepalived v1.2.1 (10/16,2012)
Oct 16 16:47:49 localhost Keepalived_vrrp: Terminating VRRP child process on signal
相关推荐
- **整体架构**:采用Nginx作为反向代理,后端部署多个Tomcat实例,利用KeepAlived实现Nginx的主备切换,形成一套完整的高可用架构。 - **关键组件**: - **Nginx**:作为前端负载均衡器。 - **KeepAlived**:用于...
本资源聚焦于“nginx+keepalived”这一高可用解决方案,旨在帮助学习者掌握如何利用这两个工具搭建稳定、可靠的Web服务架构。 **Nginx** Nginx是一款高性能的HTTP和反向代理服务器,同时也是一款邮件代理服务器。...
在构建高性能、高可用性的Web服务时,使用...总之,Nginx+keepalived+tomcat的组合为Web服务提供了高可用性和负载均衡的能力,是企业级应用架构中的常见选择。通过合理的配置和优化,可以极大地提升系统性能和稳定性。
LVS+Keepalived+Nginx+Tomcat 高可用集群项目 本文主要讲述了如何构建一个高可用集群项目,使用 LVS、Keepalived、Nginx 和 Tomcat 实现高可用性和负载均衡。该项目的架构中,Keepalived 负责对 LVS 架构中的调度器...
"nginx+keepalived+iis高可用搭建文档" 本文档主要讲述了使用nginx、keepalived和IIS搭建高可用负载均衡架构的方法,旨在解决高并发、海量数据问题。通过使用集群和负载均衡调度服务器,可以将来自浏览器的访问请求...
随着你的网站业务量的增长你网站的服务器压力越来越大?需要负载均衡方案!商业的硬件如F5又太贵,你们又是创业型互联公司...我们利用LVS+Keepalived基于完整开源软件的架构可以为你提供一个负载均衡及高可用的服务器。
【Nginx+Keepalived+Tomcat集群搭建】是一个实现服务器高可用和负载均衡的常见方案,旨在解决单点故障问题,防止服务因一台服务器宕机而导致整个系统的崩溃,即所谓的雪崩效应。 首先,我们需要四台服务器,两台...
基于Nginx和keepalived的高可用集群方案是指通过使用keepalived来实现Nginx的高可用性,以避免Nginx服务器宕机导致的服务不可用问题。该方案中,keepalived负责监控Nginx服务器的状态,并在Nginx服务器宕机时自动 ...
介绍nginx+tomcat集群处理并发解决方案,带大家认识虚拟路由,了解虚拟路由的工作流程并安装keepalived,实现nginx+keepalived主备配置,达到nginx高可用的效果。 课程知识点与大纲 - nginx keepalived tomcat - ...
本教程聚焦于Linux环境下的nginx和keepalived结合使用,来实现一个强大的、高可用的Web服务器集群。以下是对这个主题的详细解释: **1. nginx介绍** nginx是一款高性能的HTTP和反向代理服务器,以其轻量级、高效的...
通过本文,读者将了解如何使用Nginx和keepalived来实现高可靠性的负载均衡架构,以提高网站的可用性和性能。 一、体系架构 在Keepalived+Nginx高可靠性负载均衡架构中,keepalived负责实现High-availability(HA)...
### 源码安装Nginx与Keepalived实现高可用集群 #### 一、概述 在本篇文章中,我们将详细介绍如何通过源码安装的方式部署Nginx与Keepalived来构建一个高可用(High Availability,简称HA)的Web服务集群。这种方式...
### Nginx与Keepalived高可用性服务部署详解 #### 一、概述 随着互联网技术的飞速发展,用户对网站的访问速度和稳定性提出了更高的要求。在这样的背景下,如何构建一个稳定、高效的Web服务架构成为了每一个运维...
通过上述步骤,我们成功地搭建了一个基于Nginx和Keepalived的高可用Web服务集群。这样的架构不仅可以提高服务的稳定性和可靠性,还能在不影响用户体验的情况下,对后端服务器进行维护和升级。在实际应用中,可以根据...
**定义**:Keepalived是一款开源的高可用解决方案软件包,主要用于实现Linux平台下的IPVS(Internet Protocol Virtual Server)管理和服务自动故障转移。 - **核心功能**: - IPVS管理:维护一个虚拟服务器集群,...
### Nginx+Keepalived+Tomcat+Redis 高可用与负载均衡架构解析 #### 架构概览 为了确保Web服务器的稳定运行及高效处理能力,采用Nginx+Keepalived+Tomcat+Redis的技术组合进行系统构建。这一架构通过多个组件的...
在实际应用中,构建Nginx+Keepalived高可用架构时,需要先安装配置好Nginx服务器并设置好负载均衡规则,然后安装配置Keepalived,设置VRRP虚拟IP、优先级和心跳检测等相关参数。通常会配置至少两台服务器,一台作为...
【Nginx+Keepalived 实现 nginx 高可用和负载均衡详解】 在现代Web服务架构中,确保服务器高可用性和负载均衡至关重要。Nginx作为一款高性能的HTTP和反向代理服务器,常用于处理静态内容和反向代理任务。而...
在构建高性能、高可用的Web服务时,"nginx+keepalived"的组合是一个常见的解决方案。这个方案结合了Nginx的反向代理和负载均衡能力以及Keepalived的故障转移功能,确保服务的持续性和稳定性。让我们深入探讨这两个...
在构建高性能、高可用的Web服务时,nginx和keepalived是两个至关重要的组件。nginx以其高效的反向代理...在实际应用中,还可以结合其他工具如Redis、MySQL等,形成完整的高可用架构,进一步增强系统的稳定性和可靠性。