nginx高可用配置

高可用主备模式

准备工作

准备两台centos7,这里是我的虚拟机192.168.1.25 和192.168.1.117。
分别在两台虚拟机中安装nginx和keepalived,nginx的安装,两台机器分别安装keepalived

#这里使用yum安装
yum install keepalived -y

...

#安装完后查看是否安装完成
rpm -q -a keepalived

#表明安装成功
keepalived-1.3.5-16.el7.x86_64

keepalived的配置文件位置: /etc/keepalived/keepalived.conf

高可用配置

192.168.1.117作为主节点
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.1.117 #机器ip
   smtp_connect_timeout 30 
   router_id LVS_DEVEL  #  /etc/hosts 中配置的主机名 例如:127.0.0.1  LVS_DEVEL
} 
# 脚本配置
vrrp_script chk_http_port { 
  
   script "/usr/local/src/nginx_check.sh"  # 检测nginx的脚本文件
   interval 2      #(检测脚本执行的间隔) 
   weight 2       #  权重 
  
} 
# 虚拟ip配置
vrrp_instance VI_1 {     
	state MASTER   # 备份服务器上将 MASTER 改为 BACKUP       
	interface enp0s3  # 网卡     
	virtual_router_id 51   # 主、备机的 virtual_router_id 必须相同     
	priority 100     # 主、备机取不同的优先级,主机值较大,备份机值较小 
    advert_int 1   # 心跳时间间隔
     authentication {   # 权限校验方式
        auth_type PASS 
        auth_pass 1111 
    } 
    virtual_ipaddress {         
    	192.168.1.50  # VRRP H 虚拟地址  最后通过虚拟地址来访问,主备要一致
    } 
} 

nginx_check.sh的内容,放在keepalived.conf中配置的位置

#!/bin/bash 
A=`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
     fi 
 fi

完成上述步骤,依次启动nginx和keepalived
启动 nginx:./nginx
启动 keepalived:systemctl start keepalived.service

测试

访问配置文件中的虚拟地址:192.168.1.50
在这里插入图片描述
现在停掉192.168.1.117节点
在这里插入图片描述
继续访问:192.168.1.50
在这里插入图片描述
依旧可用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值