当前位置: 代码网 > it编程>数据库>Redis > Nginx+keepalived配置的实现步骤

Nginx+keepalived配置的实现步骤

2025年05月14日 Redis 我要评论
一、需要的服务nginx、keepalived、epel-release -y二、安装命令yum install -y keepalived#安装nginx以及拓展源 yum install epel

一、需要的服务

nginx、keepalived、epel-release -y

二、安装命令

yum install -y keepalived

#安装nginx以及拓展源 

yum install epel-release -y

yum install -y nginx

三、配置web服务

1、web1的nginx配置

[root@nginx1 ~]# vim /etc/nginx/conf.d/web.conf 
server{
        listen 8080;
        root         /usr/share/nginx/html;
        index test.html;
}

[root@nginx1 ~]# echo "<h1>this is web1</h1>"  > /usr/share/nginx/html/test.html

2、web2的nginx配置

[root@nginx2 ~]# vim /etc/nginx/conf.d/web.conf 
server{
        listen 8080;
        root         /usr/share/nginx/html;
        index test.html;
}

[root@nginx2 ~]# echo "<h1>this is web2</h1>"  > /usr/share/nginx/html/test.html

3、#启动

nginx -t
nginx 

四、 配置keepalived

以192.168.95.128 作为web1的master,192.168.95.129 作为web2为例

 web1配置keepalived

vim /etc/keepalived/keepalived.conf
! configuration file for keepalived
global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from alexandre.cassen@firewall.loc
   smtp_server 192.168.95.128
   smtp_connect_timeout 30
   router_id lvs_devel
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance vi_1 {
    state master
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type pass
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.95.128
    }
}

virtual_server 192.168.95.128 443 {
    delay_loop 6
    lb_algo rr
    lb_kind nat
    persistence_timeout 50
    protocol tcp

    real_server 192.168.95.128 443 {
        weight 1
        ssl_get {
            url {
              path /
              digest ff20ad2481f97b1754ef3e12ecd3a9cc
            }
            url {
              path /mrtg/
              digest 9b3a0c85a887a256d6939da88aabd8cd
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}

web2配置keepalived 

vim /etc/keepalived/keepalived.conf
! configuration file for keepalived
global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from alexandre.cassen@firewall.loc
   smtp_server 192.168.95.129
   smtp_connect_timeout 30
   router_id lvs_devel
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance vi_1 {
    state backup
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type pass
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.95.129
    }
}

virtual_server 192.168.95.129 443 {
    delay_loop 6
    lb_algo rr
    lb_kind nat
    persistence_timeout 50
    protocol tcp

    real_server 192.168.95.129 443 {
        weight 1
        ssl_get {
            url {
              path /
              digest ff20ad2481f97b1754ef3e12ecd3a9cc
            }
            url {
              path /mrtg/
              digest 9b3a0c85a887a256d6939da88aabd8cd
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}

五、脚本编写

mkdir /tools
cd /tools
# keepalived通知脚本
vim master.sh
ip=$(hostname -i | awk '{print $1}')
dt=$(date+'%y%m%d %h:%m:%s')
echo "$0--${ip}--${dt}" >> /tmp/kp.log

vim backup.sh
ip=$(hostname -i | awk '{print $1}')
dt=$(date+'%y%m%d %h:%m:%s')
echo "$0--${ip}--${dt}" >> /tmp/kp.log

vim fault.sh
ip=$(ip addr|grep inet| grep 192.168 |awk '{print $2}')
dt=$(date +'%y%m%d %h:%m:%s')
echo "$0--${ip}--${dt}" >> /tmp/kp.log

vim stop.sh
ip=$(ip addr|grep inet| grep 192.168| awk '{print $2}')
dt=$(date +'%y%m%d %h:%m:%s')
echo "$0--${ip}--${dt}" >> /tmp/kp.log

## keepalived健康检查脚本
vim nginx_check.sh
#!/bin/bash
result=`pidof nginx`
if [ ! -z "${result}" ];
then
    exit 0
else
    exit 1
fi

# 注意脚本授权,重启keepalived
cd /tools/ && chmod +x *.sh
systemctl restart keepalived.service

六、放在浏览器测试

到此这篇关于nginx+keepalived配置的实现步骤的文章就介绍到这了,更多相关nginx keepalived配置内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网! 

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com