Nginx配置keepalived达到高可用
2022/1/16 7:07:06
本文主要是介绍Nginx配置keepalived达到高可用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Nginx配置高可用的集群
推荐阅读
是一种主备的模式
需要两个Nginx服务器
现有 192.168.189.136 192.186.189.140
另一台服务器我选择的是Ubuntu。安装Nginx的过程
sudo apt update sudo apt install nginx sudo systemctl status nginx //配置防火墙 允许通过HTTP 80 HTTPS 443 sudo ufw allow "Nginx Full" //验证 sudo ufw status
在Ubuntu,如果通过这种方式安装,Nginx的配置文件在/etc/nginx
目录下
需要keepalived
//centos安装 yum install keepalived -y //验证 rpm -q -a keepalived
centos的配置文件位置
因为我是垃圾在ubuntu上安装的keepalived没有配置文件,有换成了centos
修改配置文件
主服务器的keepalived的配置
global_defs { notification_email { acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_form Alexandre.Cassen@firewall.loc smtp_server 192.168.189.136 smtp_connect_timeout 30 router_id nginx_01 #标识本节点的名称,通常为hostname } ## keepalived会定时执行脚本并对脚本执行的结果进行分析,动态调整vrrp_instance的优先级。 ##如果脚本执行结果为0,并且weight配置的值大于0,则优先级相应的增加。如果脚本执行结果非0, ##并且weight配置的值小于 0,则优先级相应的减少。其他情况,维持原本配置的优先级,即配置文件中priority对应的值。 vrrp_script chk_nginx { script "/usr/local/src/nginx_check.sh" interval 2 #每2秒检测一次nginx的运行状态 weight -20 #失败一次,将自己的优先级-20 } vrrp_instance VI_1 { state MASTER # 状态,主节点为MASTER,备份节点为BACKUP interface ens160 # 绑定VIP的网络接口,通过ifconfig查看自己的网络接口,网卡名称 virtual_router_id 51 # 虚拟路由的ID号,两个节点设置必须一样,可选IP最后一段使用,相同的VRID为一个组,他将决定多播的MAC地址 priority 100 # 节点优先级,值范围0~254,MASTER要比BACKUP高 advert_int 1 # 组播信息发送时间间隔,两个节点必须设置一样,默认为1秒 # 设置验证信息,两个节点必须一致 authentication { auth_type PASS auth_pass 1111 } # 虚拟IP,两个节点设置必须一样。可以设置多个,一行写一个 virtual_ipaddress { 192.168.189.50 #后来我换了 } }
编写脚本文件,由于我的Nginx安装在自定义的目录
#!/bin/bash A=`ps -C nginx --no-header | wc -l` if [ $A -eq 0 ];then /software/nginx/sbin/nginx #自己Nginx的启动位置 sleep 2 #睡眠2秒 if [ `ps -C nginx --no-header | wc -l` -eq 0 ];then killall keepalived #启动失败,将keepalived服务杀死。将vip漂移到其它备份节点 fi fi
从服务器的keepalived的配置
重新启动Nginx和keepalived
//192.168.189.136 //重新启动Nginx cd /software/nginx/sbin ./nginx -s stop ./nginx //启动keepalived systemctl start keepalived.service ps aux | grep keepalived //192.168.189.140 //重新启动Nginx cd /usr/sbin/nginx ./nginx -s stop ./nginx //启动keepalived systemctl start keepalived.service ps aux | grep keepalived
网上说网段要保持一致,我重新配了一次,但是不生效!
把主服务器的Nginx和keepalived断掉,也会生效。达到了高可用的效果。
硬着头皮来!
这篇关于Nginx配置keepalived达到高可用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-29Nginx发布学习:从入门到实践的简单教程
- 2024-10-28Nginx发布:新手入门教程
- 2024-10-21nginx 怎么设置文件上传最大20M限制-icode9专业技术文章分享
- 2024-10-17关闭 nginx的命令是什么?-icode9专业技术文章分享
- 2024-09-17Nginx实用篇:实现负载均衡、限流与动静分离
- 2024-08-21宝塔nginx新增8022端口方法步骤-icode9专业技术文章分享
- 2024-08-21nginx配置,让ws升级为wss访问的方法步骤-icode9专业技术文章分享
- 2024-08-15nginx ws代理配置方法步骤-icode9专业技术文章分享
- 2024-08-14nginx 让访问带有/relid的地址返回404 ,例子 /relid-x-0.36-y-131.html-icode9专业技术文章分享
- 2024-08-14nginx 判断地址有/statics/的路径,指向到/home/html/statics/目录-icode9专业技术文章分享