千家信息网

nginx结合keepalived实现高可用的完整步骤

发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,前言为了满足系统的高可用,一般都需要搭建集群。当主机挂掉的时候,我们的系统还可以继续提供服务。当我们使用nginx作为反向代理和动静分离服务器的时候,也是如此。实现系统的高可用性,是我们程序员关注的重
千家信息网最后更新 2025年12月03日nginx结合keepalived实现高可用的完整步骤

前言

为了满足系统的高可用,一般都需要搭建集群。当主机挂掉的时候,我们的系统还可以继续提供服务。当我们使用nginx作为反向代理和动静分离服务器的时候,也是如此。实现系统的高可用性,是我们程序员关注的重点。本文介绍了nginx结合keepalived实现主从模式搭建高可用集群。

前提知识

本文不作过多的nginx相关配置介绍,默认读者已经了解nginx的相关知识。

keepalived的介绍

Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。

系统架构图

实现步骤

1.环境配置

1.1 安装nginx

安装相关依赖

yum install pcre-devel zlib zlib-devel openssl openssl-devel

上传解压压缩包

tar zxvf nginx-1.12.2.tar.gz

创建目录,检测配置

mkdir -p /usr/local/nginx./configure --prefix=/usr/local/nginx

预编译和安装

make && make install

启动、停止相关命令

cd /usr/local/nginx/sbin/./nginx./nginx -s stop./nginx -s start

1.2 安装keepalived

yum install -y keepalived

2.主机配置

修改keepalived配置文件

vim /etc/keepalived/keepalived.conf

修改的内容如下

#新增的配置vrrp_script chk_http_port { script "/shell/nginx_check.sh" #脚本地址 interval 2 #检测脚本执行的间隔 weight 2 #比重}vrrp_instance VI_1 { state MASTER #主服务器为MASTER,从服务器为BACKUP interface eth0 #网卡 virtual_router_id 51 #主、备机的virtual_router_id必须相同 priority 100 #主、备机不同的优先级,主机优先级较大,备机值较小,默认是100 advert_int 1 authentication {  auth_type PASS  auth_pass 1111 } #虚拟IP地址 virtual_ipaddress {  192.168.126.88 }}

创建编写脚本文件

mkdir /shell/nginx_check.shvim /shell/nginx_check.sh

脚本文件内容如下

#!/bin/bashA=`ps -C nginx -no-header |wc -l`if [ $A -eq 0 ];then  /usr/local/nginx/sbin/nginx  sleep 2  if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then    killall keepalived  fifi

3.从机配置

修改keepalived配置文件

vrrp_instance VI_1 {  state BACKUP #主服务器为MASTER,从服务器为BACKUP  interface eth0 #网卡  virtual_router_id 51 #主、备机的virtual_router_id必须相同  priority 50 #主、备机不同的优先级,主机优先级较大,备机值较小  advert_int 1  authentication {    auth_type PASS    auth_pass 1111  }  #虚拟IP地址  virtual_ipaddress {    192.168.126.88  }}

4.启动服务

启动

service keepalived start

查看虚拟IP地址

ip addr1: lo:  mtu 65536 qdisc noqueue state UNKNOWN   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00  inet 127.0.0.1/8 scope host lo  inet6 ::1/128 scope host     valid_lft forever preferred_lft forever2: eth0:  mtu 1500 qdisc pfifo_fast state UP qlen 1000  link/ether 00:0c:29:4f:31:ce brd ff:ff:ff:ff:ff:ff  inet 192.168.126.100/24 brd 192.168.126.255 scope global eth0  inet 192.168.126.88/32 scope global eth0  inet6 fe80::20c:29ff:fe4f:31ce/64 scope link     valid_lft forever preferred_lft forever

5.关闭防火墙测试

关闭防火墙

service iptables stop#查看防火墙是否开机自启动chkconfig --list | grep iptableschkconfig iptables off

登陆虚拟IP地址查看

http://192.168.126.88/

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。

服务 服务器 配置 地址 系统 工作 主机 优先级 内容 文件 脚本 检测 故障 防火墙 防火 不同 相同 较大 人工 时候 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技进步比如互联网 计算机和网络安全防范记录表 软件开发老师暑期培训 计算机网络技术初级教程 国家在数据库温度有多少 医院服务器存储售后 龙华区网络安全培训在线答题 目前没有可用登录服务器的请求 自己的数据库名称 有服务器等于几 如何将脚本还原成数据库 虚拟机怎么做成云服务器 浏阳软件开发师培训 京东服务器机房运维 bilibili服务器断线 服务器电源改大功率充电器 青少年网络安全的感想 网络安全主题班会课件ppt图片 软件工程考研网络安全考研 智能家居数据库设计er图 网络安全审计系统执行标准 自建网页数据库 北京水电费缴费软件开发团队 广州好定网络技术有限公司电话 怎样找软件开发 服务器对公共云的影响 怎么样保护数据库的安全性 明日之后怎么看服务器职业 盐城项目软件开发厂家 民政局网络安全预警通报机制
0