Nginx(十二)-- Nginx+keepalived实现高可用
1.前提
两台Linux服务器,IP分别为192.168.80.128 和 192.168.80.129,都安装Nginx和keepalived,并启动。
2.配置双机热备
1.将192.168.80.128看作master(主机),将192.168.80.129看作backup(备机)
2.修改128(主)的keepalived配置文件
! Configuration File for keepalived global_defs {
router_id LVS_DEVEL # 运行keepalived服务器的一个标识
} vrrp_instance VI_1 {
state MASTER
interface eth0 # 通过ifconfig查看此IP对应的网卡
virtual_router_id 51
priority 101 # master权重设置为101,
# master的权重一定要比backup的权重要大,这样就可以保证在master down机后,
# bakup可以立即升级为master,当master回复后,可以重新成为master。
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.80.100 # 虚拟主机的IP,搭建完成后通过此IP访问
}
} virtual_server 192.168.80.100 80 { # 虚拟IP和端口
delay_loop 6
lb_algo rr
lb_kind NAT
persistence_timeout 50
protocol TCP real_server 192.168.80.128 80 { # 真实IP和端口
weight 1 # 权重
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80 # 健康检查的端口
}
}
}
3.重启128(master)上的keepalived
service keepalived restart
4.修改129(备)的keepalived配置文件
! Configuration File for keepalived global_defs {
router_id LVS_DEVEL # 运行keepalived服务器的一个标识
} vrrp_instance VI_1 {
state BACKUP
interface eth0 # 通过ifconfig查看此IP对应的网卡
virtual_router_id 51
priority 100 # backup权重设置为100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.100.100 # 虚拟主机的IP,搭建完成后通过此IP访问
}
} virtual_server 192.168.100.100 80 { # 虚拟IP和端口
delay_loop 6
lb_algo rr
lb_kind NAT
persistence_timeout 50
protocol TCP real_server 192.168.80.129 80 { # 真实IP和端口
weight 1 # 权重
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80 # 健康检查的端口
}
}
}
5.重启129(backup)上的keepalived
service keepalived restart
6.在浏览器中访问:http://192.168.80.100/,出现Nginx的欢迎界面,表示成功!当master正常时,只会访问到master,当master 异常时,就会访问backup。
7.停止128(master)上的keepalived,用来模仿master异常
service keekealived stop
8.在浏览器中访问:http://192.168.80.100/,发现出现Nginx的欢迎界面,即访问backup成功!
3.配置keepalived的日志
1.配置keepalived日志,默认是没有配置的
vi /etc/sysconfig/keepalived
改为:KEEPALIVED_OPTIONS="-D -d -S 0"
2.配置到系统日志,修改etc/rsyslog.conf中的内容,vim /etc/rsyslog.conf,在文件中增加如下内容,和9对应:
local0.* /var/log/keepalived.log
3.重启系统日志
service rsyslog restart
4.重启keepalived
service keepalived restart
Nginx(十二)-- Nginx+keepalived实现高可用的更多相关文章
- Nginx系列二:(Nginx Rewrite 规则、Nginx 防盗链、Nginx 动静分离、Nginx+keepalived 实现高可用)
一.Nginx Rewrite 规则 1. Nginx rewrite规则 Rewrite规则含义就是某个URL重写成特定的URL(类似于Redirect),从某种意义上说为了美观或者对搜索引擎友好, ...
- Nginx keepalived实现高可用负载均衡详细配置步骤
Keepalived是一个免费开源的,用C编写的类似于layer3, 4 & 7交换机制软件,具备我们平时说的第3层.第4层和第7层交换机的功能.主要提供loadbalancing(负载均衡) ...
- nginx与keepalived实现高可用+Apache实现负载均衡
nginx与keepalived实现高可用 本实验使用了四台虚拟机 两台需要安装nginx及keepalived 两台安装Apache nginx可以源码安装也可以用yum安装nginx yum安装n ...
- 架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层
1.概述 前两遍文章中,我们一直在说后文要介绍Nginx + Keepalived的搭建方式.这篇文章开始,我们就来兑现前文的承诺,后续的两篇文章我们将介绍Nginx + Keepalived和 LV ...
- Nginx(七):keepalived实现Nginx负载均衡服务器的双机高可用
前言 之前咱们通过 Nginx(六):Nginx HTTP负载均衡和反向代理的配置与优化 和 Nginx+tomcat组合实现高并发场景的动静分离和负载均衡方案 这两篇文章了解了Nginx对高并发应用 ...
- Linux 笔记 - 第十八章 Linux 集群之(三)Keepalived+LVS 高可用负载均衡集群
一.前言 前两节分别介绍了 Linux 的高可用集群和负载均衡集群,也可以将这两者相结合,即 Keepalived+LVS 组成的高可用负载均衡集群,Keepalived 加入到 LVS 中的原因有以 ...
- nginx和keeplive实现负载均衡高可用
一. Keeplive服务介绍 Keeplive期初是专门为LVS设计的,专门用来监控LVS集群系统中各个服务节点的状态,后来又加入VRRP的功能,因此除了配合LVS服务以外,也可以作为其他服务(ng ...
- haproxy+keepalived实现高可用负载均衡
软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现.LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载. HA ...
- haproxy+keepalived实现高可用负载均衡(转)
软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现.LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载. ...
- 项目实战3—Keepalived 实现高可用
实现基于Keepalived高可用集群网站架构 环境:随着业务的发展,网站的访问量越来越大,网站访问量已经从原来的1000QPS,变为3000QPS,目前业务已经通过集群LVS架构可做到随时拓展,后端 ...
随机推荐
- ViewPager一屏显示多个item,及边缘滑动事件优化
关于ViewPager显示两边的item方法,网络上是方法都在ViewPager外包一个Layout, 然后设置ViewPager和外面的Layout的clipChildren="false ...
- 安卓程序代写 网上程序代写[原]BluetoothAdapter解析
这篇文章将会详细解析BluetoothAdapter的详细api, 包括隐藏方法, 每个常量含义. 一 BluetoothAdapter简介 1.继承关系 该类仅继承了Object类; 2.该类作用 ...
- Sword redis数据结构
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). String(字符串) string 是 redi ...
- Android 中自定义控件和属性(attr.xml,declare-styleable,TypedArray)的方法和使用
一. 在res/values 文件下定义一个attrs.xml 文件.代码如下: <?xml version="1.0" encoding="utf-8" ...
- C++自定义异常类
代码样例: #include <iostream> using namespace std; class illegalParameterValue { public: illegalPa ...
- c++ 的类 和 类继承, 什么是c++中的基类和派生类?
闲云潭影日悠悠,物换星移几度秋 你既然已经做出了选择, 又何必去问为什么选择.鬼谷绝学的要义, 从来都不是回答, 而是抉与择 普通类 #ifndef TABTENN0_H_ #define TABTE ...
- SAP财务供应链与金库管理的联系与区别
SAP Treasure Module & Cash Fund , Risk Management 本文简要阐述一下什么是财务供应链管理(FSCM),什么是金库管理(Treasury Ma ...
- MySQL导入数据错误error: 13 及解决办法
先说解决办法 将sql文件放到你的账号能够访问的地方!!! 因为我用的grid账号,所以只需要将sql放到 ~grid/ 或者 /tmp等grid能够访问的地方即可. Don't place the ...
- SpringMVC系列(十五)Spring MVC与Spring整合时实例被创建两次的解决方案以及Spring 的 IOC 容器和 SpringMVC 的 IOC 容器的关系
一.Spring MVC与Spring整合时实例被创建两次的解决方案 1.问题产生的原因 Spring MVC的配置文件和Spring的配置文件里面都使用了扫描注解<context:compon ...
- (https://www.ibm.com/developerworks/community/forums/html/topic?id=77777777-0000-0000-0000-000014550004)Topic: Caught java.io.CharConversionException. ERRORCODE=-4220, SQLSTATE=null
270002WDPN 3 Posts 0 people l ...