. 环境准备

1. VMware;
2. 4台CentOs7虚拟主机:192.168.122.217, 192.168.122.165
3. 系统服务:LVS, Keepalived
4. Web服务器:nginx

. 软件安装

在2台虚拟机上,我们以如下方式搭建集群:

192.168.122.217   nginx-1+keepalived-1
192.168.122.165   nginx-2+keepalived-2

两台机器安装keeplived和nginx
yum  install -y keepalived nginx

接下来我们要配置keeplive服务

192.168.122.217配置

cat > /etc/keepalived/keepalived.conf <<EOF
! Configuration File for keepalived
global_defs {
router_id 192.168.122.217
}
vrrp_script chk_nginx {
script "/etc/keepalived/check_nginx.sh"
interval
weight -
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id
priority
advert_int
mcast_src_ip 192.168.122.217
nopreempt
authentication {
auth_type PASS
auth_pass
}
track_script {
chk_nginx
}
virtual_ipaddress {
192.168.122.50
}
}
EOF ## 192.168.122.217 为节点IP,192.168..50 VIP

192.168.122.165配置

cat > /etc/keepalived/keepalived.conf <<EOF
! Configuration File for keepalived
global_defs {
router_id 192.168.122.165
}
vrrp_script chk_nginx {
script "/etc/keepalived/check_nginx.sh"
interval
weight -
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id
priority
advert_int
mcast_src_ip 192.168.122.165
nopreempt
authentication {
auth_type PASS
auth_pass
}
track_script {
chk_nginx
}
virtual_ipaddress {
192.168.122.50
}
}
EOF ## 192.168.122.165 为节点IP,192.168.122.50 VIP

创建健康检查脚本,脚本放在/etc/keepalived/check_nginx.sh ,两台机都要放

[root@fefgegrege opt]# cat check_nginx.sh
PORT_PROCESS=`ps aux|grep -v grep|grep nginx|wc -l`
if [ $PORT_PROCESS -eq ];then
echo "nginx Is Not Used,End."
exit
fi
echo "Check nginx Cant Be Empty!"

两台机启动keeplived

[root@gergergrehre]# systemctl enable --now keepalived
Created symlink from /etc/systemd/system/multi-user.target.wants/keepalived.service to /usr/lib/systemd/system/keepalived.service.

启动完毕后ping 192.168.122.50 (VIP)

 
[root@hdththt ~]# ping 192.168.122.50
PING 192.168.122.50 (192.168.122.50) () bytes of data.
bytes from 192.168.122.50: icmp_seq= ttl= time=1.37 ms
bytes from 192.168.122.50: icmp_seq= ttl= time=0.515 ms
bytes from 192.168.122.50: icmp_seq= ttl= time=0.594 ms
bytes from 192.168.122.50: icmp_seq= ttl= time=0.831 ms
^C
--- 192.168.122.50 ping statistics ---
packets transmitted, received, % packet loss, time 3001ms
rtt min/avg/max/mdev = 0.515/0.829/1.376/0.336 ms #如果没有启动,请检查原因。 ps -ef|grep keep 检查是否启动成功
#没有启动成功,请执行下面命令,从新启动。启动成功vip肯定就通了
systemctl start keepalived

KeepLived + nginx 高可用的更多相关文章

  1. keepalived对nginx高可用演练脚本

    keepalived对nginx高可用演练脚本 参考文章:http://deidara.blog.51cto.com/400447/302402/ .安装nginx.keepalived.epel-r ...

  2. Keepalived保证Nginx高可用配置

    Keepalived保证Nginx高可用配置部署环境 keepalived-1.2.18 nginx-1.6.2 VM虚拟机redhat6.5-x64:192.168.1.201.192.168.1. ...

  3. linux中keepalived实现nginx高可用配置

    linux中keepalived实现nginx高可用配置 安装keepalived 运行如下命令即可 tar -zxvf keepalived-2.0.8.tar.gz -C /usr/src cd ...

  4. 配置keepalived支持nginx高可用

    实验环境 序号 主机名 IP地址 1 nginx1 192.168.204.11 2 nginx2 192.168.204.12 安装nginx 安装nginx yum install -y epel ...

  5. 面试中的nginx高可用高并发!

    本文转自:91博客:原文地址:http://www.9191boke.com/439923471.html 面试题: nginx高可用?nginx 是如何实现并发的?为什么nginx不使用多线程?ng ...

  6. 001/Nginx高可用模式下的负载均衡与动静分离(笔记)

    Nginx高可用模式下的负载均衡与动静分离 Nginx(engine x)是一个高性能的HTTP和反向代理服务器,具有内存少,并发能力强特点. 1.处理静态文件.索引文件以及自动索引:打开文件描述符缓 ...

  7. Nginx(四):Keepalived+Nginx 高可用集群

    Keepalived+Nginx 高可用集群 (主从模式) 集群架构图 安装keepalived [root@localhost ~]# yum install -y keepalived 查看状态 ...

  8. Docker下配置KeepAlive支持nginx高可用

    案例子任务一.安装配置keepalived 步骤1:使用nginx镜像生成nginx-keep镜像 1) 启动nginx容器并进入 docker run -d --privileged nginx / ...

  9. 3.keepalived+脚本实现nginx高可用

    标题 : 3.keepalived+脚本实现nginx高可用 目录 : Nginx 序号 : 3 else exit 0 fi else exit 0 fi - 需要保证脚本有执行权限,可以使用chm ...

随机推荐

  1. window常见操作

    cmd查看进程命令 nestat -aon|findstr "端口" 杀进程: taskkill /f /pid 端口号  /f参数强制杀进程 通过注册表删除桌面图标 cmd re ...

  2. OAuth_2

    角色: OAuth2.0为用户和应用定义了如下角色: 资源拥有者.资源服务器.客户端应用.授权服务器 资源拥有者:拥有共享数据的人或应用,比如Facebook的用户就是 资源拥有者,但资源拥有者也可以 ...

  3. 使用conda部署jupyterhub以及ladp验证的安装

    前提:机器安装有conda环境 官方文档:http://jupyterhub.readthedocs.io/en/stable/quickstart.html 1.安装conda3 jupyterhu ...

  4. make编写教程(二)

    1. make中的变量 makefile中的变量就是c/c++中的宏 2. 引用其他的make文件 类似于c语言中的#include,被包含的文件会原模原样的放在当前文件的包含位置. include& ...

  5. Struts2增删改查(自己思路理解)

    1:查询所有: DAO层:把所有的信息都放到list集合中.然后返回. public List<Employee> getEmployees(){ return new ArrayList ...

  6. POJ 3904 (莫比乌斯反演)

    Stancu likes space travels but he is a poor software developer and will never be able to buy his own ...

  7. 一次且仅一次(once and only once,简称OAOO)

    一次且仅一次(once and only once,简称OAOO)又称为 Don't repeat yourself(不要重复你自己,简称DRY)或一个规则,实现一次(one rule, one pl ...

  8. eclipse run error:g++ not found in Path

    网上有人说: 在eclipse下 windows-->Preference-->C/C++-->Build-->Setting然后选择Discovery标签,将里面的内容全部R ...

  9. (4)C++ 复合类型-指针

    篇幅长从 https://www.cnblogs.com/buchizaodian/p/11511256.html 提取出来 七.指针和自由存储空间  1.寻址运算符 * #include<io ...

  10. 几个可以通过curl查询公网IP的站点

    通过命令行获取公网ip 非常实用分享给大家实例: [root@T900 ~]# curl cip.cc IP : 119.29.29.29 地址 : 中国 广东省 广州市 运营商 : 腾讯网络 数据二 ...