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直译就是保持存活,在网络里面就是保持在线了,也就是所谓的高可用或热备,用来防止单点故障(单点故障是指一旦某一点出现故障就会导致整个系统架构的不可用)的发 ...
随机推荐
- C#和Java接口对比
C#和java的接口有很多类似之处,对于编程约束和设计模式的实现有重要作用.这里记录几个知识点. 1. C#的接口中不能有字段,但Java的接口中允许有static final修饰的字段/域(fiel ...
- IOS-SQLite数据库使用详解
使用SQLite数据库 创建数据库 创建数据库过程需要3个步骤: 1.使用sqlite3_open函数打开数据库: 2.使用sqlite3_exec函数执行Create Table语句,创建数据库表: ...
- Installing Forms Developer 10g and Reports 32-bit on 64-bit Windows versions(win7 or win10)
E-Business Suite 12.1 and 12.2 require Forms Developer 10g and Reports Designer 10g. Forms Develope ...
- 软工作业-四则运算(java实现)BY叶湖倩,叶钰羽
四则运算生成器 BY-信安1班 叶湖倩(3216005170) 信安1班 叶钰羽(3216005171) 1. 项目介绍 源代码GitHub地址:https://github.com/yeyuyu/s ...
- Delphi for Android (aka Delphi XE5 aka RAD Studio XE5) has appeared
Delphi for Android (aka Delphi XE5 aka RAD Studio XE5) has appeared Blimey, that took me by surpri ...
- 数据展示Matplotlib
主要内容是Matplotlib库的基本使用和方法 1 Matplotlib库 1.1 Matplotlib的介绍 Python优秀的数据可视化第三方库 数据可视化就是将数据以特定的图形图像的方式展示出 ...
- 前端之JavaScript 02
一.函数 // 最基础的函数定义 function f1() { console.log('hello world!'); } f1(); // hello world! // 带参数的函数 func ...
- 不同apk的activity互相调用
目标:CHFSAsk.apk调用CHFSAdviser.apk中的AppStart和MainActivity两种activity. CHFSAsk.apk:去调用的apk, 包名为com.chfs.a ...
- 如何用 php 读取一个很大的 excel 文件。
这个程序是用php 读取一个很大的excel文件, 先将 excel 文件保存成csv 文件, 然后利用 迭代器 逐行读取 excel 单元格的值, 拿到值以后 做相应处理,并打印结果. <?p ...
- kali视频学习(11-15)
第四周kali视频(11-15)学习 11.漏洞分析之OpenVAS使用 12.漏洞分析之扫描工具 13.漏洞分析之WEB爬行 14.漏洞分析之WEB漏洞扫描(一) 15.漏洞分析之WEB漏洞扫描(二 ...