概述
一: docker安装nginx
安装过程参考:docker离线安装nginx
二 :本地安装keepalived
keepalived安装过程省略,我安装的是2.2.7版本
- 第一步:安装成功 修改keepalived.conf
cd keepalived-2.2.7
./configure --prefix=/usr/local/keepalived --sysconf=/etc
make && make install
vim /etc/keepalived/keepalived.conf
- 主机keepalived.conf内容:
global_defs {
notification_email {
# 指定keepalived在发生切换时需要发送email到的对象,一行一个邮件地址
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
# 指定
notification_email_from Alexandre.Cassen@firewall.loc
#服务器地址
smtp_server 192.168.1.250
#连接超时时间
smtp_connect_timeout 30
#hosts
router_id 02
}
vrrp_script chk_http_port {
script "/usr/local/src/nginx_check.sh"
interval 2 #(检测脚本执行的间隔)
weight 2
}
vrrp_instance VI_1 {
# 备份服务器上将 MASTER 改为 BACKUP 必须大写
state MASTER
#网卡
interface ens224
# 主、备机的 virtual_router_id 必须相同
virtual_router_id 51
# 主、备机取不同的优先级,主机值较大,备份机值较小
priority 100
# 设定 MASTER 与 BACKUP 负载均衡之间同步检查的时间间隔,单位为秒,两个节点设置必须一样
advert_int 1
# 设置验证类型和密码,两个节点必须一致
authentication {
auth_type PASS
auth_pass 1111
}
# VRRP H 虚拟地址 可多个
virtual_ipaddress {
192.168.10.160
}
}
- 从机配置:
global_defs {
notification_email {
# 指定keepalived在发生切换时需要发送email到的对象,一行一个邮件地址
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
# 指定
notification_email_from Alexandre.Cassen@firewall.loc
#服务器地址
smtp_server 192.168.1.247
#连接超时时间
smtp_connect_timeout 30
#hosts
router_id 02
}
vrrp_script chk_http_port {
script "/usr/local/src/nginx_check.sh"
interval 2 #(检测脚本执行的间隔)
weight 2
}
vrrp_instance VI_1 {
# 备份服务器上将 MASTER 改为 BACKUP 必须大写
state BACKUP
#网卡
interface ens224
# 主、备机的 virtual_router_id 必须相同
virtual_router_id 51
# 主、备机取不同的优先级,主机值较大,备份机值较小
priority 50
# 设定 MASTER 与 BACKUP 负载均衡之间同步检查的时间间隔,单位为秒,两个节点设置必须一样
advert_int 1
# 设置验证类型和密码,两个节点必须一致
authentication {
auth_type PASS
auth_pass 1111
}
# VRRP H 虚拟地址 可多个
virtual_ipaddress {
192.168.10.160
}
}
- 在/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
- 启动主从keepalived
systemctl start keepalived
Systemctl status keepalived
- 查看虚拟IP是否绑定
ip addr
- 在浏览器输入虚拟IP进行测试,然年后停止主机,再次访问
- 访问 虚拟ip+nginx端口,例如:192.168.10.160:8114
最后
以上就是无情月饼为你收集整理的docker搭建nginx+keepalived集群的全部内容,希望文章能够帮你解决docker搭建nginx+keepalived集群所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复