1. 需求说明
实现 Nginx 的高可用!
2. 准备工作
- 需要两台
Liunx务器; - 在两台服务器安装
Nginx: - 安装教程:https://www.yuque.com/u1511184/wet18p/vlb7wn
- 在两台服务器安装
keepalived: - 应用简介:Keepalived 是基于 VRRP 协议的一款高可用软件,Keepalived 配置通过 keepalived.conf 文件完成
- 安装命令:yum install keepalived –y;
- 程序目录:安成完成之后会生成 /etc/keepalived/keepalived.conf 配置文件;
3. 主从配置
在两台服务器上分别进行如下操作:
1)修改 /etc/keepalived/keepalivec.conf 配置文件,具体如下:
global_defs {# 管理员的邮箱号notification_email {acassen@firewall.locfailover@firewall.locsysadmin@firewall.loc}notification_email_from Alexandre.Cassen@firewall.loc# 定义邮件服务器smtp_server 192.168.17.129# 定义邮件发送超时时间smtp_connect_timeout 30# 重点参数:局域网keppalived主机身份标识信息(每台唯一)router_id LVS_DEVEL}vrrp_script chk_http_port {# 脚本所在路径script "/opt/script/nginx_check.sh"# 检测脚本执行的间隔interval 2# 权重weight 2}# VRRP协议相关配置vrrp_instance VI_1 {# keepalived角色描述信息,可配置参数(主服务器选MASTER,备服务器选BACKUP)state MASTER# 将虚拟ip用于哪块网卡,可以使用ifconfig进行查看(第一行第一个单词就是网卡名)interface eth0# 表示keepalived家族表示信息,主、备机的virtual_router_id必须相同virtual_router_id 51# keepalved服务竞选主备服务器优先级设置(数字越大越优先,例如:主服务器可以100,备服务器可以90)priority 100# 主服务器组播包发送间隔时间advert_int 1# 主备主机之间的认证表示信息authentication {# 采用明文认证机制auth_type PASS# 编写明文密码auth_pass 1111}virtual_ipaddress {# 设置虚拟ip地址信息192.168.12.150}}
2)在 /opt/script/ 目录下添加检测脚本 nginx_check.sh
#!/bin/bashA=`ps -C nginx –no-header |wc -l`if [ $A -eq 0 ];then/opt/nginx/sbin/nginxsleep 2if [ `ps -C nginx --no-header |wc -l` -eq 0 ];thenkillall keepalivedfifi
3)把两台服务器上 Nginx 和 keepalived 启动:
启动 Nginx:/opt/nginx/sbin/nginx启动 keepalived:systemctl start keepalived.service
