Linux Keepalived双机热备

如题所述

第1个回答  2022-07-24
本文使用的是 VMware Workstation 15 Player ,创建两个虚拟机,分别命名为 CentOS 7 64位 M 和 CentOS 7 64位 B ,M表示"master"主服务器,B表示"backup"备用服务器。
网络连接选择 NAT模式 ,启动后使用 ip add 发现没有自动分配ip地址,是因为CentOS 7默认是不启动网卡的,解决方法如下:

打开配置文件,把 ONBOOT=no 这一项改为 ONBOOT=yes ,然后 :wq 保存退出,然后重启网络服务:

这时候再输入 ip add 会发现ip地址有了。

本文Master ip为 192.168.56.131 ,Bcakup ip为 192.168.56.132 。
虚拟ip(vip)定义为 192.168.56.188 。

安装gcc

进入nginx-1.6.2并执行configure文件

成功后会在/usr/local/nginx目录下看到 conf、html、logs、sbin 四个目录。

启动命令:

停止命令:

重启命令:

使用如下命令查看相关端口是否已启动Nginx

浏览器输入Master的ip地址: ,出现Nginx的欢迎页面即成功启用Nginx。

同理,Backup浏览器输入: ,同样出现Nginx的欢迎页面。

注意这个地方,html中最后一行 "Thank you for using nginx." 本文针对Master和Backup分别进行了修改便于热备时更好的区分服务是否切换成功,修改的文件在

如果启动成功,但进入不了欢迎页面,则可能需要关闭firewalld防火墙:

进入keepalived-1.2.18并执行configure文件

在 /etc/ 目录下创建keepalived文件夹

将keepalived配置文件复制到/etc/keepalived下

将keepalived脚本文件复制到/etc/相关目录下

创建keepalived软链接

设置开机启动

安装完毕。

进入/etc/keepalived/目录下打开keepalived.conf文件进行修改

在/etc/keepalived/目录下创建sh脚本文件

1、安装nano

2、使用nano创建nginx_check.sh脚本

3、打开nginx_check.sh并编辑如下内容

(注意`符号,非'符号)

4、脚本授权

安装并配置完毕后,可以分别启动两台虚拟机上的Nginx和Keepalived进行热备的验证了。

启动Nginx:

启动Keepalived:

关闭Keepalived:

查看nginx进程:

查看keepalived进程:

分别启动Nginx和Keepalived后,Master输入 ip add 查看ip多了一个 192.168.56.188

打开浏览器输入ip地址: 看到Nginx的欢迎页面

此时nginx131说明为主节点。

然后我们将Keepalived关闭

或kill掉Nginx进程,因为有nginx_check.sh脚本会检测如果没有Nginx进程运行也会自动将Keepalived关闭

会发现,节点由Master切换到了Backup:

热备成功。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网