• nginx+keepalived


    keepalived是一款服务器状态检测和故障切换的工具。在其配置文件中,可以配置主备服务器和该服务器的状态检测请求。也就是说keepalived可以根据配置的请求,在提供服务期间不断向指定服务器发送请求,如果该请求返回的状态码是200,则表示该服务器状态是正常的,如果不正常,那么keepalived就会将该服务器给下线掉,然后将备用服务器设置为上线状态。

    ​Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能。因此,Keepalived除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx、Haproxy、MySQL等)的高可用解决方案软件。

    一、准备

    1. 两台服务器(互相可以ping通)
    2. 都装nginx、keepalived
    3. 虚拟ip需要跟服务器ip在同一个网段

    二、安装

    1. nginx

      参见我的另一篇文章

    2. keepalived

      yum install keepalived –y

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

    三、配置

    1. keepalived主服务器配置(IP:192.168.0.6)

       global_defs {
       	notification_email {
       	782435839@qq.com
       } #定义报警邮件地址
       notification_email_from 782435839@qq.com
       smtp_server 127.0.0.1  #邮箱服务器
       smtp_connect_timeout 30 #定义超时时间
       router_id vm01 #定义路由标识信息,相同局域网唯一,一般为主机名
       } 
       vrrp_script chk_http_port {
       	script "/etc/nginxKeep/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 # 主、备机取不同的优先级,主机值较大,备份机值较小
       	advert_int 1
       	authentication { #指定认证方式
       		auth_type PASS
       		auth_pass 1111
       	}
       	virtual_ipaddress {
       		192.168.0.50 // VRRP H 虚拟地址
       	}
       }
      
    2. keepalived丛服务器配置(IP:192.168.0.7)

       #跟主服务器一样
       #不同点修改
       router_id vm02 #定义路由标识信息,相同局域网唯一,一般为主机名
       state BACKUP # 备份服务器上将 MASTER 改为 BACKUP
       priority 90 # 主、备机取不同的优先级,主机值较大,备份机值较小
      
    3. 检测脚本

      nginx_check.sh

       #!/bin/bash
       #nginx进程是否存在
       counter=$(ps -C nginx --no-heading|wc -l)
       if [ "${counter}" = "0" ]; then
       #尝试启动一次nginx,停止5秒后再次检测
           /etc/nginx
           sleep 5
           counter=$(ps -C nginx --no-heading|wc -l)
           if [ "${counter}" = "0" ]; then
       #如果启动没成功,就杀掉keepalive触发主备切换
               service keepalived stop
           fi
       fi
      

    四、测试

    两台服务器启动nginx和keepalived,访问虚拟ip192.168.0.50,都可访问到
    关闭主服务器nginx和keepalived,192.168.0.50依旧可以访问

    备注:

    1. 主要配置文件的权限为题
    2. 主要防火墙要开放端口
    3. selinux可能需要关闭

    补充:
    查找yum安装gcc的具体位置
    rpm -qa | grep gcc
    查找软件安装位置
    rpm -ql gcc-4.8.5-36.el7.x86_64
    卸载
    yum -y remove gcc

  • 相关阅读:
    《web-Mail服务的搭建》
    VMware虚拟机三种联网方法及原理
    Java总结——常见Java集合实现细节(1)
    nginx静态资源缓存策略配置
    算术验证
    JPA学习
    Spring中AOP实现
    转:Spring中事物管理
    使用docker发布spring cloud应用
    综合使用spring cloud技术实现微服务应用
  • 原文地址:https://www.cnblogs.com/laoyin666/p/12907605.html
Copyright © 2020-2023  润新知