nginx配置实例-高可用准备工作
什么叫高可用
当nginx宕机了此时我们的请求仍然能够实现。
高可用
当主服务器挂掉了,我们此时自动采用备用的nginx来使用。通过keepalived 进行虚拟ip的绑定工作。这里我们一开始使用的是一个虚拟ip,然后虚拟ip绑定对应的主master和backup 的nginx服务器。然后这两个服务器同时对应的是对应的tomcat服务器。
此时需要两台nginx服务器
需要keepalived
需要虚拟ip
在两台服务服务器上安装keepalived
命令进行安装 yum install keepalived -y
然后cd/etc/keepalived 进入界面 然后修改对应的keepalived.conf配置
修改keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
# vrrp_skip_check_adv_addr
# vrrp_strict
# vrrp_garp_interval 0
# vrrp_gna_interval 0
}
vrrp_script chk_http_port {
script "/usr/local/src/nginx_check.sh"
interval 2 #(检测脚本执行间隔)
weight 2
}
vrrp_instance VI_1 {
state BACKUP # 备份服务器上将MASTER 改为 BACKUP
interface eth0 // 网卡
virtual_router_id 51 # 主、备机得virtual_router_id值必须相同
priority 90 # 主、备机取不同的优先级,主机值较大,备份机值较小
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.17.50 // VRRP H虚拟地址
# 192.168.200.16
# 192.168.200.17
# 192.168.200.18
}
}
nginx_check.sh文件编写
A = `ps -C nginx -no-header | wc -l`
if [$A -eq 0];then
service nginx start
sleep 2
if [`ps -C nginx --no-header | wc -l` -eq 0];then
killall keepalived
fi
fi
启动nginx和keepalived
nginx -s reload 重启nginx
systemctl start keepalived 启动keepalived
ubuntu下启动nginx 和 keepalived
sudo nginx -s reload
sudo service keepalived start
最终测试
此时说明已经绑定了