nginx+keeplived实现高可用站点主备模式搭建
来源:互联网 发布:怎么提升淘宝买家等级 编辑:程序博客网 时间:2024/05/17 09:22
Keepalived是一个基于VRRP协议来实现的服务高可用方案,可以利用其来避免IP单点故障,类似的工具还有heartbeat、corosync、pacemaker。但是它一般不会单独出现,而是与其它负载均衡技术(如lvs、haproxy、nginx)一起工作来达到集群的高可用。
下载安装包
nginx下载地址:http://nginx.org/download/
keepalived下载地址:http://www.keepalived.org/software/
可根据需要下载对应的版本,我这里使用 nginx-1.6.2.tar.gz keepalived-1.2.18.tar.gz
两台centos 虚拟机:
192.168.1.236 和192.168.1.237
使用236作为master ,237作为backup
1)安装nginx
分别在236,237上面安装好nginx ,安装教程参见:http://blog.csdn.net/sunqingzhong44/article/details/68948980
2)安装keepalived
解压:
tar -zxvf keepalived-1.2.18.tar.gz -C /usr/local
安装依赖包:
yum install -y openssl openssl-devel
编译安装:
./configure --prefix=/usr/local/keepalived
make && make install
将keepalived加入系统服务:
mkdir /etc/keepalived
cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
ln -s /usr/local/sbin/keepalived /usr/sbin
ln -s /usr/local/keepalived/sbin/keepalived /sbin/
3)配置keepalived查看两台虚拟机网卡
ip a
修改keepalived.conf文件:
vim /etc/keepalived/keepalived.conf
236(master节点)改为:
! Configuration File for keepalivedglobal_defs { router_id 192.168.1.236 #当前机器的ip}vrrp_script chk_nginx { script "/etc/keepalived/nginx_check.sh" #这个文件在后面 interval 2 weight -20}vrrp_instance VI_1 { state MASTER #主节点 interface eth0 #配置要看上面ip a命令查询出的网卡 virtual_router_id 123 mcast_src_ip 192.168.1.236 priority 100 #优先级 主机大与备机 advert_int 1 authentication { auth_type PASS auth_pass manager #主备配置为一样 } track_script { #执行上面配置的script chk_nginx } virtual_ipaddress { 192.168.1.123 #虚拟ip }}237(backup节点)改为:
! Configuration File for keepalivedglobal_defs { router_id 192.168.1.237}vrrp_script chk_nginx { script "/etc/keepalived/nginx_check.sh" interval 2 weight -20}vrrp_instance VI_1 { state BACKUP interface eth0 virtual_router_id 123 mcast_src_ip 192.168.1.237 priority 90 advert_int 1 authentication { auth_type PASS auth_pass manager } track_script { chk_nginx } virtual_ipaddress { 192.168.1.123 }}
脚本nginx_check.sh:
#!/bin/shA=`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 fifi
启动:
分别启动 两台主机的nginx ,在启动keepalived:
/usr/local/nginx/sbin/nginx #启动nginx
service keepalived start #启动keepalived
这时在使用ip a命令查看网卡:
可以看出主机236 已经虚拟成功,237备机无任何变化,这是我们可以将两台nginx 的index页面内容修改不一样,加入当前ip,再通过浏览器访问http://192.168.1.123,可以看到:
可以看出此时是236做出的相应:
我们将236的keepalived停掉 ,再次访问
nginx已经切换到了237,我们在重启236的keepalived ,我们会发现又会切换到236
因为脚步会自动重启nginx ,这里我们将236的nginx.conf文件加入一些错误内容,使nginx启动不起来,,停掉236nginx,这时脚步会将keepalilved也停掉 ,此时访问发现又会自动切换到237,将236 nginx.conf内容恢复,keepalived启动,又再次恢复到了236,则主备可以自动切换
- nginx+keeplived实现高可用站点主备模式搭建
- KeepLived + Nginx 实现高可用 负载均衡 原理
- Keeplived配置Nginx双机高可用
- LVS+keeplived+nginx+apache搭建高可用、高性能php集群
- LVS+keeplived+nginx+apache搭建高可用、高性能php集群
- LVS+keeplived+nginx+apache搭建高可用、高性能php集群
- LVS+keeplived+nginx+apache搭建高可用、高性能php集群
- LVS+keeplived+nginx+apache搭建高可用、高性能php集群
- LVS+keeplived+nginx+apache搭建高可用、高性能php集群
- nginx+keepalived搭建高可用负载均衡(主备模式)
- Nginx+Keepalived实现站点高可用
- Nginx+Keepalived实现站点高可用
- Nginx+Keepalived实现站点高可用
- Nginx+Keepalived实现站点高可用
- Nginx+Keepalived实现站点高可用
- LVS+keeplived+nginx+tomcat高可用、高性能jsp集群
- LVS+keeplived+nginx+tomcat高可用、高性能jsp集群
- nginx+keepalived搭建高可用负载均衡(双主模式)
- Android自动弹出软键盘的两种方式
- 给图片添加水印图片文字
- static 、final区别
- Android中自定义Shape小结
- Fragment与Fragment、Activity通信(2)
- nginx+keeplived实现高可用站点主备模式搭建
- linux 6转换系统审计日志文件
- Springboot文件下载代码
- SVM 中 rbf kernel 的意义 —— 一个不怎么严谨的解释
- Ildasm.exe(IL 反汇编程序)
- Logger的使用
- 时间的函数Sleep,clock,GetTickCount,QueryPerformanceCounter
- MATLAB学习笔记之-----数列的循环移位操作
- React Native ES6写法整理