keepalived 简介
keepalived 用来防止服务器的单节点故障通过配合nginx 来实现WEB前端的高可用,keepalived是基于VRRP协议为实现基础的VRRP用于实现路由器冗余的协议VRRP将两台或者多台设备虚拟成一台设备对外提供一个虚拟IP (VIP) ,当一台服务器宕机了可以实现IP地址间的漂移,备用服务器继续提供服务
实验要求:通过keepalived + nginx,实现负载均衡高可用,当keepalived-master宕机后,keepalived-slave可以继续提供服务转发WEB的请求
实验环境
服务器主机名 | IP地址 | VIP |
---|---|---|
keepalived-master | 192.168.169.10 | 192.168.169.130 |
keepalived-backup | 192.168.169.20 | 192.168.169.130 |
nginx-server | 192.168.169.50 |
在所有服务器上做以下操做
安装yum源
[root@nginx-server ~]# cd /etc/yum.repos.d/
[root@nginx-server yum.repos.d]# curl -o CentOS7-Base-163.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
[root@nginx-server yum.repos.d]# sed -i 's/\$releasever/7/g' /etc/yum.repos.d/CentOS7-Base-163.repo
[root@nginx-server yum.repos.d]# sed -i 's/^enabled=.*/enabled=1/g' /etc/yum.repos.d/CentOS7-Base-163.repo
[root@nginx-server yum.repos.d]# yum -y install epel-release
关闭防火墙,关闭selinux
[root@nginx-server ~]# systemctl stop firewalld
[root@nginx-server ~]# systemctl disable firewalld
[root@nginx-server ~]# setenforce 0
[root@nginx-server ~]# sed -ri 's/(^SELINUX=).*/\1disabled/g' /etc/selinux/config
在nginx-server上部署nginx
安装Nginx
创建系统用户和组
[root@nginx-server ~]# groupadd -r nginx
[root@nginx-server ~]# useradd -r -M -s /sbin/nologin -g nginx nginx
安装依赖环境
[root@nginx-server ~]# yum -y install pcre-devel openssl openssl-devel gd-devel
安装开发包
[root@nginx-server ~]# yum -y groups mark install 'Development Tools'
建立存放日志目录,并且修改属主和属组
[root@nginx-server ~]# mkdir -p /var/log/nginx
[root@nginx-server ~]# chown -R nginx.nginx /var/log/nginx
下载nginx
[root@nginx-server src]# yum install vim wget -y
[root@nginx-server src]# wget http://nginx.org/download/nginx-1.12.0.tar.gz
编译安装nginx
[root@nginx-server nginx-1.12.0]# tar xf ng