原创

nginx配置高可用的集群

1.什么是nginx高可用

  

(1)需要两台nginx服务器

(2)需要keepalived

(3)需要虚拟ip


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

(1)需要两台服务器192.168.17.129  和 192.168.17.131

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

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


3.安装nginx参考博主文章

http://debuggg.com/article/71  


4.在两台服务器安装keepalived

(1)使用yum命令进行安装

yum install keepalived -y

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


5.完成高可用配置(主从配置)

(1)修改 /etc/keepalived/keepalived.conf配置文件

global_defs {
notification_email {
acassen@firewall.loc #填写管理员的邮箱信息
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from test@163.com #定义利用什么邮箱发送邮件
smtp_server smtp.163.com #定义邮件服务器信息
smtp_connect_timeout 30 #定义邮件发送超时时间
router_id LVS_DEVEL #(重点参数)局域网keppalived主机身份标识信息(每台唯一),再hosts文件里面配置/etc/hosts 127.0.0.1 LVS_DEVEL
}/

vrrp_script chk_http_port{ script "/usr/local/src/nginx_check.sh" interval 2 weight 2 } vrrp_instance VI_1 { #VRRP协议相关配置
state MASTER #keepalived角色描述信息,可配置参数(MASTER,BACKUP),备份服务器上将MASTER改成BACKUP
interface eth0 #将虚拟ip用于那块网卡
virtual_router_id 55 #表示keepalived家族表示信息,主备机的virtual_router_id 必须相同
priority 150 #keepalved服务竞选主备服务器优先级设置(数字越大越优先)
advert_int 1 #主服务器组播包发送间隔时间
authentication { #主备主机之间的认证表示信息
auth_type PASS #采用明文认证机制
auth_pass 1111 #编写明文密码
}
virtual_ipaddress { #设置虚拟ip地址信息
192.168.17.50
#虚拟ip,即VIP为10.0.0.88,子网掩码为24位,绑定接口为eth0,别名为eth0:1,此参数备节点设置和主节点相同
}
}

(2)在/usr/local/src添加检测脚本

#!/bin/bash
# 如果进程中没有nginx则将keepalived进程kill掉

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

(3)nginx和keepalived启动起来进行测试

启动nginx:./nginx

启动keepalived:systemctl start keepalived.service


6.最终测试:

(1)在浏览器地址输入 虚拟ip地址 192.168.17.50

  

可以使用ip a可以看到绑定关系

(2)把主服务器停止,nginx和keepalived停止,再输入地址查看效果:

  


正文到此结束