HAProxy+Keepalived高可用负载均衡配置
系统版本:CentOS5.5 x86_64
master_ip:172.20.27.40
backup_ip:172.20.27.50
vip:172.20.27.200
web_1: 172.20.27.90
web_2:172.20.27.100
二、haproxy安装:
1.首先172.20.27.40安装上安装:
1.1安装
tar zxvf haproxy-1.3.20.tar.gz
cd haproxy-1.3.20
make TARGET=linux26 PREFIX=/usr/local/haproxy
make install PREFIX=/usr/local/haproxy
1.2.配置
cd /usr/local/haproxy
mkdir etc
cd etc
vi haproxy.cfg
global
log 127.0.0.1 local0
maxconn 65535
chroot /usr/local/haproxy
uid 99
gid 99
daemon
nbproc 12
pidfile /usr/local/haproxy/haproxy.pid
defaults
log 127.0.0.1 local3
mode http
option httplog
option httpclose
option dontlognull
option forwardfor
option redispatch
retries 2
maxconn 65535
balance source
stats uri /web-status
stats auth admin:admin@admin
stats refresh 60s
contimeout 5000
clitimeout 50000
srvtimeout 50000
listen 172.20.27.200
bind *:80
mode http
option httplog
log global
option httpchk HEAD /t.htm HTTP/1.0
server web1 172.20.27.90:80 weight 5 check inter 2000 rise 2 fall 3
server web2 172.20.27.100:80 weight 5 check inter 2000 rise 2 fall 3
然后启动haproxy,如下执行启动命令:
/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/etc/haproxy.cfg
2.首先172.20.27.50安装上安装:
2.1.安装
tar zxvf haproxy-1.3.20.tar.gz
cd haproxy-1.3.20
make TARGET=linux26 PREFIX=/usr/local/haproxy
make install PREFIX=/usr/local/haproxy
2.2.配置
cd /usr/local/haproxy
mkdir etc
cd etc
vi haproxy.cfg
global
log 127.0.0.1 local0
maxconn 65535
chroot /usr/local/haproxy
uid 99
gid 99
daemon
nbproc 12
pidfile /usr/local/haproxy/haproxy.pid
defaults
log 127.0.0.1 local3
mode http
option httplog
option httpclose
option dontlognull
option forwardfor
option redispatch
retries 2
maxconn 65535
balance source
stats uri /web-status
stats auth admin:admin@admin
stats refresh 60s
contimeout 5000
clitimeout 50000
srvtimeout 50000
listen 172.20.27.200
bind *:80
mode http
option httplog
log global
option httpchk HEAD /t.htm HTTP/1.0
server web1 172.20.27.90:80 weight 5 check inter 2000 rise 2 fall 3
server web2 172.20.27.100:80 weight 5 check inter 2000 rise 2 fall 3
然后启动haproxy,如下执行启动命令:
/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/etc/haproxy.cfg
三、keepalived安装:
1.首先172.20.27.40安装上安装:
1.1安装
tar zxvf keepalived-1.1.17.tar.gz
cd keepalived-1.1.17
./configure
make
make install
cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d
cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig
mkdir /etc/keepalived
cp /usr/local/sbin/keepalived /usr/sbin/
cd /etc/keepalived
1.2.配置
vi keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
331095659@qq.com
}
notification_email_from 331095659@qq.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script chk_haproxy {
script "/usr/local/haproxy/shell/check_haproxy.sh"
interval 2
weight 2
}
# VIP1
vrrp_instance VI_1 {
state BACKUP
interface eth0
lvs_sync_daemon_inteface eth0
virtual_router_id 151
priority 100
advert_int 5
nopreempt
authentication {
auth_typePASS
auth_pass 2222
}
virtual_ipaddress {
172.20.27.200
}
track_script {
chk_haproxy
}
}
mkdir -p /usr/local/haproxy/shell
cd /usr/local/haproxy/shell
#建立监控haproxy脚本
vi check_haproxy.sh
#!/bin/bash
#auto check haprox process
#2014-6-30
killall -0 haproxy
if [[ $? -ne 0 ]];then
/etc/init.d/keepalived stop
fi
chmod u+x check_haproxy.sh
service keepalived restart
2.首先172.20.27.50安装上安装:
2.1安装
tar zxvf keepalived-1.1.17.tar.gz
cd keepalived-1.1.17
./configure
make
make install
cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d
cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig
mkdir /etc/keepalived
cp /usr/local/sbin/keepalived /usr/sbin/
cd /etc/keepalived
2.2配置
vi keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
331095659@qq.com
}
notification_email_from 331095659@qq.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script chk_haproxy {
script "/usr/local/haproxy/shell/check_haproxy.sh"
interval 2
weight 2
}
# VIP1
vrrp_instance VI_1 {
state BACKUP
interface eth0
lvs_sync_daemon_inteface eth0
virtual_router_id 151
priority 90
advert_int 5
nopreempt
authentication {
auth_typePASS
auth_pass 2222
}
virtual_ipaddress {
172.20.27.200
}
track_script {
chk_haproxy
}
}
mkdir -p /usr/local/haproxy/shell
cd /usr/local/haproxy/shell
#建立监控haproxy脚本
vi check_haproxy.sh
#!/bin/bash
#auto check haprox process
#2014-6-30
killall -0 haproxy
if [[ $? -ne 0 ]];then
/etc/init.d/keepalived stop
fi
chmod u+x check_haproxy.sh
service keepalived restart
四、测试
把vip 172.20.27.200绑定到你的域名上面进行测试
1.一直ping 172.20.27.200这个IP,然后把master_ip这台服务器模拟宕机状态。这时候ping会延迟3秒后,自动切换到backup_ip。(说明测试成功)
转载于:https://blog.51cto.com/azhuang/1440168
相关文章:
Go在Ubuntu 14.04 64位上的安装过程
1. 从 https://golang.org/dl/ 或 https://studygolang.com/dl 下载最新的发布版本go1.10即go1.10.linux-amd64.tar.gz; 2. 将下载的tar包解压缩到/usr/local目录下,执行以下命令,结果如下: $ sudo tar -C /usr/local -xzf go1.…

毕业就拿阿里offer,你和他比差在哪?
我在大学的时候,真的遇到一个神人,叫他小马吧。超前学习。1024,是程序员的节日,恰逢CSDN的20周年,我们准备为你做件大事!我们与AI博士唐宇迪、畅销书作家、北大硕士阿甘等4位老师,共同为大家带来…

04号团队-团队任务5:项目总结会
1.团队信息 团队序号:04 开发项目:北软毕设管理系统 整理人:丛云聪 学号:2017035107185 在团队中的职务:项目经理兼产品经理 2.代码仓库地址 主仓库:https://gitee.com/The_Old_Cousin/StuInfoManage…

微软职位内部推荐-Sr SDE for Win Apps Ecosystem
微软近期Open的职位:Job posting title: Senior Software Design EngineerLocation: China, BeijingLevel: 63Division: Operations System Group EngineeringGroup OverviewOSG is delivering flagship products in Microsoft. China is a second largest economy in the worl…

C# Winform 启动和停止进程
启动和停止进程 一、启动进程 方法1: (1) 创建一个Process组件的实例,例如: Process myProcess new Process(); (2) 设置其对应的StartInfo属性,指定要运行的应用程序名…
在Windows/Ubuntu上使用Visual Studio Code作为Go语言编辑器操作步骤
下面以在Windows10上操作为例,在Ubuntu上操作步骤与windows一致: 1. 从 https://code.visualstudio.com/ 下载windows上的最新发布版本1.21.1,即VSCodeSetup-x64-1.21.1.exe; 2. 以管理员身份运行VSCodeSetup-x64-1.21.1.exe&…

实战:基于tensorflow 的中文语音识别模型 | CSDN博文精选
作者 | Pelhans来源 | CSDN博客目前网上关于tensorflow 的中文语音识别实现较少,而且结构功能较为简单。而百度在PaddlePaddle上的 Deepspeech2 实现功能却很强大,因此就做了一次大自然的搬运工把框架转为tensorflow….简介百度开源的基于PaddlePaddle的…

js获取Html元素的实际宽度高度
第一种情况就是宽高都写在样式表里,就比如#div1{width:120px;}。这中情况通过#div1.style.width拿不到宽度,而通过#div1.offsetWidth才可以获取到宽度。第二种情况就是宽和高是写在行内中,比如style"width:120px;",这中…

新框架ES-MAML:基于进化策略、简易的元学习方法
作者 | Xingyou Song、Wenbo Gao、Yuxiang Yang、Krzysztof Choromanski、Aldo Pacchiano、Yunhao Tang译者 | TroyChang编辑 | Jane出品 | AI科技大本营(ID:rgznai100)【导读】现有的MAML算法都是基于策略梯度的,在试图利用随机策…
Tesseract-OCR 3.04简单使用举例(读入图像输出识别结果)
下面code是对Tesseract-OCR 3.04版本进行简单使用的举例:包括两段,一个是读入带有中文字符的图像,一个是读入仅有英文字符的图像: #include "funset.hpp"#include <iostream> #include <string> #include &…

坑爹的微软官方文档:SQL无人值守安装
我在部署项目的时候,需要用批处理无人值守安装SQLserver,.Net等组件。 于是查了微软官方文档,其中一项内容如下: http://msdn.microsoft.com/zh-cn/library/ms144259.aspx SQL Server 安装程序控件 /IACCEPTSQLSERVERLICEN…

各种 django 静态文件的配置总结【待续】
2019独角兽企业重金招聘Python工程师标准>>> 最近在学习django框架的使用,想引用静态css文件,怎么都引用不到,从网搜了好多,大多因为版本问题,和我现在的使用的dango1.1配置不同,根据资料和公司…

实战:人脸识别的Arcface实现 | CSDN博文精选
来源 | CSDN博客本文将简单讲述arcface从训练到部署的整个过程,主要包括前期的数据筛选和准备,模型训练以及模型部署。此文参考的arcface的代码地址:https://github.com/ronghuaiyang/arcface-pytorch数据集准备1. 首先准备需要训练的人脸数据…
Windows7/10上快速搭建Tesseract-OCR开发环境操作步骤
之前在https://blog.csdn.net/fengbingchun/article/details/51628957 中描述过如何在Windows上搭建Tesseract-OCR开发环境,那时除了需要clone https://github.com/fengbingchun/OCR_Test 工程外,还需要依赖 https://github.com/fengbingchun/Liblept_T…

C#基础系列:实现自己的ORM(反射以及Attribute在ORM中的应用)
反射以及Attribute在ORM中的应用 一、 反射什么是反射?简单点吧,反射就是在运行时动态获取对象信息的方法,比如运行时知道对象有哪些属性,方法,委托等等等等。反射有什么用呢?反射不但让你在运行是获取对象…

Network | sk_buff
sk_buff结构可能是linux网络代码中最重要的数据结构,它表示接收或发送数据包的包头信息。它在中定义,并包含很多成员变量供网络代码中的各子系统使用。 这个结构被不同的网络层(MAC或者其他二层链路协议,三层的IP,四…
吴恩达老师深度学习视频课笔记:深度学习的实用层面
训练、验证和测试数据集(training、development and test sets):训练神经网络时,我们需要作出很多决策,如神经网络分多少层(layers)、每层含有多少个隐藏层单元(hidden units)、学习率(learning rates)、各层采用哪些激活函数(activation fun…

FtpCopy数据定时自动备份软件(FTP定时备份)
1. 软件说明 FtpCopy是一款免费的FTP数据自动备份软件,如果FtpCopy对您有较大的帮助,欢迎捐赠我们,我们对您表示衷心的感谢! 如果有需求的话会一直更新下去,将软件做到极致! 有问题可直接“反馈留言”。 特…

专注NLP,竹间智能完成4500万美元B+轮融资
近日,竹间智能在成立四周年之际宣布完成4500万美元B轮融资。本轮由某重要战略合作方、云晖资本及领沨资本联合领投,凯思博投资、众安资本、趋势资本、普华资本、一路资本跟投,光源资本担任本轮融资的独家财务顾问。竹间智能方面表示ÿ…

JDBC连接各种数据库方法
为什么80%的码农都做不了架构师?>>> 声明 以下内容收集自网络,并没有亲自测试可用性。 一、Oracle8/8i/9i数据库(thin模式) Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); String url&…
OpenCV支持中文字符输出实现
在 http://www.opencv.org.cn/forum.php?modviewthread&tid2083&extra&page1 中,作者给出了原始的在OpenCV中 支持中文字符的输入,原始的实现使用的是OpenCV的C接口,使用起来不怎么方便,这里对原作者的实现进行调整&…

CSDN”原力计划“在召唤:技术人请集结,用原创技术影响万千开发者
技术深不可测、薪资难以想象、着装招人吐槽、发量让人惊叹、笑点着实密集、情商令人堪忧......在这个你我他她它通过网络紧密互联、消息实时互通的 21 世纪,人们对身处技术至高点的程序员们仍然有着以上不接地气、呆板保守的误解,对此,操着一…

.asmx支持post请求或者get请求调用(WebService 因 URL 意外地以 结束,请求格式无法识别 的解决方法)...
使用Post调用以asmx形式提供的webservice时,在本机调试没有调用问题。一旦部署至服务器后会提示如下信息: <html><head><title>因 URL 意外地以“/GetCertByToken”结束,请求格式无法识别。</title><meta name&qu…

关于StartCoroutine的简单线程使用
StartCoroutine在unity3d的帮助中叫做协程,意思就是启动一个辅助的线程。 在C#中直接有Thread这个线程,但是在unity中有些元素是不能操作的。这个时候可以使用协程来完成。 使用线程的好处就是不会出现界面卡死的情况,如果有一次非常大量的运…

Robot Framework(十八) 支持工具
5支持工具 5.1库文档工具(libdoc) libdoc是一种用于为HTML和XML格式的测试库和资源文件生成关键字文档的工具。前一种格式适用于人类,后者适用于RIDE和其他工具。Libdoc也没有很少的特殊命令来显示控制台上的库或资源信息。 可以创建文档&…
基于开源TiRG的文本检测与提取实现
在 http://funkybee.narod.ru/ 中作者给出了文本检测和提取的实现,仅有一个.hpp文件,为了在windows上编译通过,这里简单进行了改动,改动后的code如下: #include <math.h> #include <stdio.h> #include &l…
Kaggle Days首次落地中国,日本团队拿下冠军
2019 年 10 月 20 日, 为期两天的 Kaggle Days 中国活动在北京圆满结束。作为全球最知名的线下数据科学活动在中国的首次落地,Kaggle Days 获得了谷歌、Kaggle 以及 16 位来自美国、俄罗斯、捷克、日本以及中国的 Kaggle Grandmaster 以及 Master 的大力…

《WF编程》笔记目录
《WF编程》笔记目录

activity的四种加载模式
在android里,有4种activity的启动模式,分别为: standard, singleTop, singleTask和singleInstance, 其中standard和singleTop类似, singleTask和singleInstance类似, 用法如下: (1).standard和singleTop 这…
吴恩达老师深度学习视频课笔记:优化算法
优化算法能够帮助你快速训练模型。mini-batch梯度下降法:把训练集分割(split)为小一点的子训练集,这些子集被叫做mini-batch。batch梯度下降法指的是:同时处理整个训练集,只有处理完整个训练集才更新一次权值和偏置。并且预期每次…