九、Nginx配置高可用的集群

Nginx配置高可用的集群

1、什么是高可用

 

 

(1)、需要两台nginx服务器

(2)、需要keepalived

(3)、需要虚拟ip

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

(1)、需要两台服务器(虚拟机) 192.168.17.129和192.168.17.131

(2)、在两台服务器上安装nginx

(3)、在两台服务器上安装keepalived

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

(1)、使用yum命令安装keepalived

cd /usr

yum install keepalived -y

查看是否安装成功 :rpm -q -a keepalived

(2)、安装路径cd /etc中生成目录keepalived,有配置文件keepalived.conf

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

ifconfig --查看网卡、ip

(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

stmp_connect_timeout 30

router_id LVS_DEVEL #重要,访问到主机vi/etc/host中加的主机名

}

 

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 //网卡,ipconfig查看

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/nginx_check.sh

#!/bin/bash

A=ps -C nginx -no-header |wc -1

if [$A -eq 0 ];then

/usr/local/nginx/sbin/nginx --nginx启动位置

sleep 2

if [ps -C nginx -no-header |wc -1 -eq 0 ];then

killall keepalived

fi

fi

(3)、把两台服务器上的nginx和keepalived起来

启动nginx:./nginx

启动keepalived命令: systemctl start keepalived.service

ps -ef|grep keepalived --查看进程

 

5、最终测试

(1)、浏览器输入192.168.17.50 ,如果可以出现nginx页面,说明虚拟ip绑定成功

(2)、把主服务器(192.168.17.129)的nginx和keepalived停掉,再输入192.168.17.50

停止nginx命令:./nginx -s stop

停止keepalived命令: systemctl stop keepalived.service

浏览器再输入192.168.17.50 查看效果

 

 

posted @ 2022-04-11 17:56  拾柴慢热  阅读(359)  评论(0)    收藏  举报