【Nginx(七)】搭建高可用集群

    技术2026-01-26  8

    1. Keepalived+Nginx 高可用集群(主从模式)2. 配置高可用的准备工作3. 在两台服务器上安装keepalived4. 完成高可用配置(主从配置)5. 最终测试

    1. Keepalived+Nginx 高可用集群(主从模式)

    2. 配置高可用的准备工作

    需要两台服务器需要keepalived需要虚拟ip

    3. 在两台服务器上安装keepalived

    使用yum命令安装

    yum install keepalived-v

    安装完成之后,在etc里面生成keepalived,有文件keepalived.conf

    4. 完成高可用配置(主从配置)

    1. 修改/etc/keepalived/keepalived.conf配置文件

    global_defs { notification_email { acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_from Alexandre.Cassen@firewall.loc smtp_server 192.168.17.129 smtp_connect_timeout 30 router_id LVS_DEVEL # 服务器的名字,可以通过此访问到主机 可以通过/etc/hosts文件查看 } vrrp_script chk_http_port { script "/usr/local/src/nginx_check.sh" # 脚本的路径 interval 2 #(检测脚本执行的间隔) weight -20 # 权重 当脚本成立,权重即减小20 } vrrp_instance VI_1 { state BACKUP # 备份服务器上将 MASTER 改为 BACKUP interface ens33 //网卡 virtual_router_id 51 # 主、备机的 virtual_router_id 必须相同 priority 100 # 主、备机取不同的优先级,主机值较大,备份机值较小 advert_int 1 #时间间隔 authentication { auth_type PASS # 用户名和密码 auth_pass 1111 } virtual_ipaddress { 192.168.17.50 # VRRP H 虚拟地址 } }

    2. 在/usr/local/src添加检测脚本

    #!/bin/bash A=`ps -C nginx –no-header |wc -l` if [ $A -eq 0 ]; then /usr/local/nginx/sbin/nginx # nginx启动的脚本路径 sleep 2 if [ `ps -C nginx --no-header |wc -l` -eq 0 ]; then killall keepalived fi fi

    3. 把两台服务器上nginx和keepalived启动

    启动nginx

    systemctl start nginx

    启动keepalived

    systemctl start keepalived.service

    5. 最终测试

    在浏览器地址栏输入虚拟地址ip 192.168.17.50

    把主服务器(192.168.17.129) nginx和keepalived停止,在输入192.168.17.50

    均可以访问到nginx

    Processed: 0.011, SQL: 9