linux中keepalived实现nginx高可用配置
linux中keepalived实现nginx高可用配置
安装keepalived
运行如下命令即可
tar -zxvf keepalived-2.0.8.tar.gz -C /usr/src
cd /usr/src/keepalived-2.0.8
sudo apt-get install autoconf
aclocal
autoconf
autoheader
automake --add-missing
sudo apt-get install libssl-dev
./configure --prefix=/usr/local/keepalived
make && make install
cd /usr/local/keepalived/sbin
./keepalived
ps -ef | grep keepalived
修改keepalived配置文件
keepalived的作用,基本上是和多台nginx服务器通信,当主服务器宕机,将ip分法给备用服务器
例如,写类似如下代码
在你的linux网卡中添加一个ip地址,这个ip地址可以ping通,也就是多个nginx服务器,可以共用这一个ip,通过keepalived决定谁可以拥有这个ip
ip addr add yourtestip dev ens33
ip addr
ping yourtestip
配置keepalived配置文件
sudo vim /usr/local/keepalived/etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
# 服务器宕机发送通知邮件
notification_email {
acassen@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_instance VI_1 {
state MASTER # 设置当前nginx服务器为主节点,备用nginx服务器对应设置成BACKUP即可
interface eth0 # 绑定服务器网卡
virtual_router_id 51 # 主备nginx服务器此id必须一致
priority 100 # 设置优先级,1-254之间,备用服务器的结点优先级设置低点
advert_int 1 # 信息发送间隔,主备都要一致
authentication { # 授权信息,主备服务器一致
auth_type PASS
auth_pass 1111
}
virtual_ipaddress { # 虚拟IP,主备服务器必须一致,网段必须和nginx一致
192.168.200.16
}
notify_master "/usr/local/keepalived/sbin/notify_sh master" # 主服务器宕机,备用服务器要成为主服务器则调用此脚本
notify_backup "/usr/local/keepalived/sbin/notify_sh backup"
notify_fault "/usr/local/keepalived/sbin/notify_sh fault"
}
vrrp_script chk_health {
script "[[`ps -ef | grep nginx | grep -v grep | wc -l`-ge 2]] && exit 0 || exit 1" # 判断nginx进程是否大于等于2
interval 1 # 1秒钟执行一次
weight -2 # nginx宕机,本机权重降低2
}
track_script {
chk_health # 检查nginx
}
notify_sh脚本
#!/bin/bash
case $1 in
master)
/usr/local/nginx/sbin/nginx
exit 0
;;
backup)
/usr/local/nginx/sbin/nginx -s stop
/usr/local/nginx/sbin/nginx
exit 0
;;
fault)
/usr/local/nginx/sbin/nginx -s stop
exit 0
*)
echo "(notify.sh(master|backup|fault)"
exit 1
;;
esac
linux中keepalived实现nginx高可用配置的更多相关文章
- Keepalived保证Nginx高可用配置
Keepalived保证Nginx高可用配置部署环境 keepalived-1.2.18 nginx-1.6.2 VM虚拟机redhat6.5-x64:192.168.1.201.192.168.1. ...
- 配置keepalived支持nginx高可用
实验环境 序号 主机名 IP地址 1 nginx1 192.168.204.11 2 nginx2 192.168.204.12 安装nginx 安装nginx yum install -y epel ...
- keepalived对nginx高可用演练脚本
keepalived对nginx高可用演练脚本 参考文章:http://deidara.blog.51cto.com/400447/302402/ .安装nginx.keepalived.epel-r ...
- MariaDB+Keepalived双主高可用配置MySQL-HA
利用keepalived构建高可用MySQL-HA,保证两台MySQL数据的一致性,然后用keepalived实现虚拟VIP,通过keepalived自带的服务监控功能来实现MySQL故障时自动切换. ...
- Nginx配置upstream实现负载均衡及keepalived实现nginx高可用
(原文链接:http://www.studyshare.cn/blog-front//blog/details/1159/0 ) 一.准备工作 1.准备两个项目,发布到不同的服务器上,此处使用2个虚拟 ...
- 使用Keepalived实现Nginx高可用
Keepalived是一个路由软件,可以提供linux系统和linux系统上的组件的负载均衡和高可用,高可用基于VRRP(Virtual Router Redundancy Protocol,虚ip) ...
- Keepalived+LVS-DR+Nginx高可用故障切换模式
LVS架构中,不管是NAT模式还是DR模式,当后端的RS宕掉后,调度器依然会把请求转发到宕掉的RS上,这样的结果并不是我们想要的.其实,keepalived就可以解决问题,它不仅仅有高可用的功能,还有 ...
- 基于keepalived的nginx高可用
#nginx,keepalived安装略过 MASTER 节点配置文件(192.168.1.11) vi /etc/keepalived/keepalived.conf global_defs { # ...
- keepalived实现nginx高可用
keepalived是什么 keepalived直译就是保持存活,在网络里面就是保持在线了,也就是所谓的高可用或热备,用来防止单点故障(单点故障是指一旦某一点出现故障就会导致整个系统架构的不可用)的发 ...
随机推荐
- 在Windows下MyEclipse运行JAVA程序连接HBASE读取数据出错
运行环境:Hadoop-2.5.0+Hbase-0.98.6 问题描述: 15/06/11 15:35:50 ERROR Shell: Failed to locate the winutils bi ...
- quartz简单应用
pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3 ...
- saltstack学习篇
参考链接:http://sofar.blog.51cto.com/353572/1596960/ http://sofar.blog.51cto.com/353572/1596960/ 自动化运维工具 ...
- 利用pycharm远程调试openstack代码
1.安装pycharm专业版 本文安装pycharm 2016.2.3专业版.网上教程较多,这里不做详细介绍,只要到pycharm官网上下载应用程序进行安装即可. 2.pycharm配置 (1)首先按 ...
- 【python】ConfigParser写入和读取配置文件
参照博客 http://www.cnblogs.com/TankXiao/p/3038350.html 配置文件格式: [section1] name = tank age = 28 [section ...
- .net 学习路线感想(转)
从上到大学到现在工作,已经有六年多了,发现学习编程到以开发为工作也是一个挺长的过程的. 大学中,从c语言到java.C#到其他各种语言的学习,还有其他知识的学习如:数据库(oracle.sql Ser ...
- OpenCV 视频与图片序列相互转换
我们在计算机视觉相关的实验中都需要视频与图片序列之间相互转换,在平时的实验中,经常需要将视频保存为一帧一帧的图片,以获取实验结果:另一方面,很多标准的算法测试数据库都是图片序列(文件名以帧号+图片扩展 ...
- 当导用模块与包的import与from的问题(模块与包的调用)
当在views.py里写impor models会不会报错呢? 1.Python里面的py文件都是每一行的代码. 2.Python解释器去找一个模块的时候,只去sys.path的路径里找 3.djan ...
- 前端之HTML补充
一.列表 (1).无序列表<ul> <body> <ul type="disc"> <li>属性一</li> <l ...
- 关于 avalon总线理解(整理)
1,一个基于Avalon接口的系统会包含很多功能模块,这些功能模块就是Avalon存储器映射外设,通常简称Avalon外设.所谓存储器映射外设是指外设和存储器使用相同的总线来寻址,并且CPU使用访问存 ...