nginx结合keepalived实现高可用的完整步骤
发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,前言为了满足系统的高可用,一般都需要搭建集群。当主机挂掉的时候,我们的系统还可以继续提供服务。当我们使用nginx作为反向代理和动静分离服务器的时候,也是如此。实现系统的高可用性,是我们程序员关注的重
千家信息网最后更新 2025年01月24日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安全错误
数据库的锁怎样保障安全
pc蛋蛋 软件开发
网络安全和产品培训心得
什么服务器证书最好
物流管理与计算机网络技术
免费数据库服务
源代码管理与服务器svn
数据库运维笔试题
苹果炒股交易软件开发
空数据库是指()
计算机网络技术必备术语
网络安全平台密码
c 增删改查数据库方法
登录王者时出现服务器未响应
网络安全监察课成立时间
食品产业与网络技术ppt
数据库开发技术有哪些
电脑对服务器的远程访问
数据库远程开启服务器配置
河南联通服务器升级虚拟主机
内蒙古公安厅网络安全
数据库 两套系统
软件开发工程师笔试题目
泰坦陨落2一直连不上服务器
vs2010的临时数据库
2020江西网络安全知识
服务器推送技术有哪些
2b2t服务器哪里人多
免费可以使用商用的数据库
学生图书借还管理系统数据库
网络安全类型在哪里修改