Nginx配置高可用

一、集群架构图

在这里插入图片描述

二、准备工作

  1. 准备两台服务器 192.168.25.104 和 192.168.25.105
  2. 在两台服务器安装nginx
  3. 在两台服务器安装keepalived
    ① 使用yum命令安装yum -y install keepalived
    ② 安装之后,在etc里面生成目录keeyalived,有文件keepalived.conf

三、创建/修改配置文件

修改文件/etc/keepalived/keepalived.conf

global_defs { 
   notification_email { 
     [email protected] 
     [email protected] 
     [email protected] 
   }
   notification_email_from [email protected] 
   smtp_server 192.168.17.129 
   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 ens33  # 网卡     
    virtual_router_id 51   # 主、备机的 virtual_router_id 必须相同     
    priority 100     # 主、备机取不同的优先级,主机值较大,备份机值较小 
    advert_int 1 
    authentication { 
        auth_type PASS 
        auth_pass 1111 
    } 
    virtual_ipaddress {         
        192.168.25.110 # VRRP H 虚拟地址 
    } 
} 

创建文件 /usr/local/src/nginx_check.sh

#!/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

ps:主从服务器都需要配置

四、测试

1.首先启动两台服务器的nginx和keepalived

cd /usr/local/nginx/sbin
./nginx
systemctl start keepalived.service

2.浏览器输入虚拟ip http://192.168.25.110/ 可以正常访问
3.主服务器的nginx和keepalived停止,在输入http://192.168.25.110/ 还是可以正常访问,证明已经切换到了从服务器中

发布了71 篇原创文章 · 获赞 12 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_42103026/article/details/104061938