nginx配置实例-高可用

一:什么是nginx高可用

我们在使用nginx进行负载均衡是,服务器高可用了,但一旦nginx宕机了,整个服务就不可用了,我们可以使用keepalived实现nginx高可用

二:什么是keepalived

keepalived是以VRRP(Virtual Router  Redundancy  protocol)协议为实现基础的,VRRP是虚拟路由冗余协议,它是实现路由器高可用的协议,将多台路由器设备虚拟成一个设备,对外提供一个虚拟的IP也就是VIP,多台服务器里有一个master,其他都是backup,master会发组包vrrp包给backup,用于证明自己活着,当backup收不到vrrp包时就认为master挂掉了,这时就需要VRRP的优先级来选举一个backup当master。

                                                           keepalived结合nginx的整体架构

在这里插入图片描述

三: 配置高可用的准备工作

  • 准备两台服务器 101.133.165.241 和101.133.165.242
  • 在两台服务器上都安装nginx(nginx的安装可以看我前面的博客,这里就不介绍了)
  • 在两台服务器上安装keepalived

1.第一种方式安装:使用yum命令安装

yum install keepalived -y

# 查看版本:
rpm -q -a keepalived

2.第二中方式安装,上传压缩包到自己的目录然后解压安装

tar -zxvf keepalived-2.0.18.tar.gz
cd keepalived-2.0.18
./configure
make && make install

3.安装成功以后,在etc里面生产keepalived目录,有文件keepalived.conf文件,主从模式就在这个文件里面配置

四:高可用配置(主从配置)

  • 进入到/etc/keepalived目录,修改keepalived.conf文件
cd /etc/keepalived
vi  keepalived.conf
global_defs { 
   notification_email { 
     acassen@firewall.loc 
     failover@firewall.loc 
     sysadmin@firewall.loc 
   } 
   notification_email_from Alexandre.Cassen@firewall.loc 
   smtp_server 101.133.165.241
   smtp_connect_timeout 30 
   router_id LVS_DEVEL 
} 
  
vrrp_script chk_http_port { 
  
   script "/usr/local/src/nginx_check.sh" 
   
   interval 2      #(检测脚本执行的间隔) 
  
   weight 2 
  
} 
  
vrrp_instance VI_1 {     
	state MASTER   # 备份服务器上将 MASTER 改为 BACKUP       
	interface eth0  //网卡,需要使用ifconfig查看     
	virtual_router_id 51   # 主、备机的 virtual_router_id 必须相同     
	priority 100     # 主、备机取不同的优先级,主机值较大,备份机值较小 
    advert_int 1 
    authentication { 
        auth_type PASS 
        auth_pass 1111 
    } 
    virtual_ipaddress {         
		208.208.128.50 // VRRP H 虚拟地址 
    } 
}
  • 网卡,使用ifconfig就可以看到

  • 添加检测脚本

1.进入到/usr/local/src中,添加nginx_check.sh文件

cd usr/local/src/
#!/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和keepalived启动

1.启动nginx

cd /usr/local/nginx/sbin
./nginx 

2.启动keepalived

systemctl start keepalived.service   #启动服务

ps -ef |grep keepalived  #查看进程

 

  • 测试,使用虚拟ip访问页面,停止主的服务器,也能访问到页面

  • 高可用配置文件详解
global_defs { 
   notification_email { 
     acassen@firewall.loc 
     failover@firewall.loc 
     sysadmin@firewall.loc 
   } 
   notification_email_from Alexandre.Cassen@firewall.loc 
   smtp_server 101.133.165.241
   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 2 #权重
  
} 
  
vrrp_instance VI_1 {     
	state MASTER   # 备份服务器上将 MASTER 改为 BACKUP       
	interface eth0  //网卡,需要使用ifconfig查看     
	virtual_router_id 51   # 主、备机的 virtual_router_id 必须相同     
	priority 100     # 主、备机取不同的优先级,主机值较大,备份机值较小 
    advert_int 1 #一秒检测一次
    authentication { #密码认证的方式
        auth_type PASS 
        auth_pass 1111 
    } 
    virtual_ipaddress {         
		208.208.128.50 // VRRP H 虚拟地址 
    } 
}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值