nginx怎么结合keepalived实现高可用
本篇内容主要讲解“nginx怎么结合keepalived实现高可用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“nginx怎么结合keepalived实现高可用”吧!
keepalived的介绍
keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。
系统架构图
实现步骤
1.环境配置
1.1 安装nginx
安装相关依赖
yum install pcre-devel zlib zlib-devel openssl openssl-devel
上传解压压缩包
tar zxvf nginx-1.12.2.tar.gz
创建目录,检测配置
mkdir -p /usr/local/nginx
./configure --prefix=/usr/local/nginx
预编译和安装
make && make install
启动、停止相关命令
cd /usr/local/nginx/sbin/
./nginx
./nginx -s stop
./nginx -s start
1.2 安装keepalived
yum install -y keepalived
2.主机配置
修改keepalived配置文件
vim /etc/keepalived/keepalived.conf
修改的内容如下
#新增的配置
vrrp_script chk_http_port {
script "/shell/nginx_check.sh" #脚本地址
interval 2 #检测脚本执行的间隔
weight 2 #比重
}
vrrp_instance vi_1 {
state master #主服务器为master,从服务器为backup
interface eth0 #网卡
virtual_router_id 51 #主、备机的virtual_router_id必须相同
priority 100 #主、备机不同的优先级,主机优先级较大,备机值较小,默认是100
advert_int 1
authentication {
auth_type pass
auth_pass 1111
}
#虚拟ip地址
virtual_ipaddress {
192.168.126.88
}
}
创建编写脚本文件
mkdir /shell/nginx_check.sh
vim /shell/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
3.从机配置
修改keepalived配置文件
vrrp_instance vi_1 {
state backup #主服务器为master,从服务器为backup
interface eth0 #网卡
virtual_router_id 51 #主、备机的virtual_router_id必须相同
priority 50 #主、备机不同的优先级,主机优先级较大,备机值较小
advert_int 1
authentication {
auth_type pass
auth_pass 1111
}
#虚拟ip地址
virtual_ipaddress {
192.168.126.88
}
}
4.启动服务
启动
service keepalived start
查看虚拟ip地址
ip addr
1: lo: <loopback,up,lower_up> mtu 65536 qdisc noqueue state unknown
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <broadcast,multicast,up,lower_up> mtu 1500 qdisc pfifo_fast state up qlen 1000
link/ether 00:0c:29:4f:31:ce brd ff:ff:ff:ff:ff:ff
inet 192.168.126.100/24 brd 192.168.126.255 scope global eth0
inet 192.168.126.88/32 scope global eth0
inet6 fe80::20c:29ff:fe4f:31ce/64 scope link
valid_lft forever preferred_lft forever
5.关闭防火墙测试
关闭防火墙
service iptables stop
#查看防火墙是否开机自启动
chkconfig --list | grep iptables
chkconfig iptables off
登陆虚拟ip地址查看
http://192.168.126.88/
到此,相信大家对“nginx怎么结合keepalived实现高可用”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341