企业级Nginx+Keepalived集群实战(双主架构)
随着Nginx在国内的发展潮流,越来越多的互联网公司都在使用Nginx,Nginx高性能、稳定性成为IT人士青睐的HTTP和反向代理服务器。Nginx负载均衡一般位于整个网站架构的最前端或者中间层,如果为最前端时单台Nginx会存在单点故障,也就是一台Nginx宕机,会影响用户对整个网站的访问。所以需要加入Nginx备份服务器,Nginx主服务器与备份服务器之间形成高可用,一旦发现Nginx主宕机,能快速将网站恢复至备份主机。Nginx+keepalived网络架构如图23-1所示:

Nginx+keepalived高性能WEB网络架构实战配置如下步骤:
1、环境准备
Nginx版本:nginx v1.12.0
Keepalived版本:keepalived v1.2.1
Nginx-:192.168.0.138 (Master)
Nginx-:192.168.0.139 (Backup)
2、Nginx安装配置,Master、Backup服务器安装Nginx和keepalived
yum install -y pcre-devel
wget -c http://nginx.org/download/nginx-1.12.0.tar.gz
tar -xzf nginx-1.12..tar.gz
cd nginx-1.12.
sed -i -e 's/1.12.0//g' -e 's/nginx\//TDTWS/g' -e 's/"NGINX"/"TDTWS"/g' src/core/nginx.h
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module
make
make install
3、Keepalived安装配置
wget http://www.keepalived.org/software/keepalived-1.2.1.tar.gz
tar -xzvf keepalived-1.2..tar.gz
cd keepalived-1.2.
./configure
make && make install
DIR=/usr/local/
\cp $DIR/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
\cp $DIR/etc/sysconfig/keepalived /etc/sysconfig/
mkdir -p /etc/keepalived
\cp $DIR/sbin/keepalived /usr/sbin/
注意:如果正常安装keepalive不能使用,可能是在configure时需要指定内核,例如./configure --with-kernel-dir=/usr/src/kernels/2.6.-.el6.x86_64/
使用yum安装keepalive
yum install -y keepalived*
4、配置Keepalived,master端keepalived.conf内容如下(包括两个vrrp实例):
! Configuration File for keepalived
global_defs {
notification_email {
support@jfedu.net
}
notification_email_from wgkgood@.com
smtp_server 127.0.0.1
smtp_connect_timeout
router_id LVS_DEVEL
} vrrp_script chk_nginx {
script "/data/sh/check_nginx.sh"
interval
weight
} #VIP1 192.168.0.198
vrrp_instance VI_1 {
state MASTER
interface ens33
lvs_sync_daemon_inteface ens33
virtual_router_id
priority
advert_int
#nopreempt
authentication {
auth_type PASS
auth_pass }
virtual_ipaddress {
192.168.0.198
}
track_script {
chk_nginx
}
} #VIP2 192.168.0.199
vrrp_instance VI_2 {
state BACKUP
interface ens33
lvs_sync_daemon_inteface ens33
virtual_router_id
priority
advert_int
#nopreempt
authentication {
auth_type PASS
auth_pass }
virtual_ipaddress {
192.168.0.199
}
track_script {
chk_nginx
}
}
backup端的keepalived.conf内容如下:
! Configuration File for keepalived
global_defs {
notification_email {
support@jfedu.net
}
notification_email_from wgkgood@.com
smtp_server 127.0.0.1
smtp_connect_timeout
router_id LVS_DEVEL
} vrrp_script chk_nginx {
script "/data/sh/check_nginx.sh"
interval
weight
} #VIP1 192.168.0.198
vrrp_instance VI_1 {
state BACKUP
interface ens33
lvs_sync_daemon_inteface ens33
virtual_router_id
priority
advert_int
#nopreempt
authentication {
auth_type PASS
auth_pass }
virtual_ipaddress {
192.168.0.198
}
track_script {
chk_nginx
}
} #VIP2 192.168.0.199
vrrp_instance VI_2 {
state MASTER
interface ens33
lvs_sync_daemon_inteface ens33
virtual_router_id
priority
advert_int
#nopreempt
authentication {
auth_type PASS
auth_pass }
virtual_ipaddress {
192.168.0.199
}
track_script {
chk_nginx
}
}
5、如上配置还需要建立check_nginx脚本,用于检查本地Nginx是否存活,如果不存活,则kill keepalived实现切换。其中check_nginx.sh脚本内容如下:
#!/bin/bash
#auto check nginx process
NUM=`ps -ef|grep nginx|grep -vEc "check|grep"`
if [ $NUM -eq ];then
service keepalived stop
fi
6、通过查看日志/var/log/message,确认keepalived是否启动成功
企业级Nginx+Keepalived集群实战(双主架构)的更多相关文章
- Centos7+nginx+keepalived集群及双主架构案例
目录简介 一.简介 二.部署nginx+keepalived 集群 三.部署nginx+keepalived双主架构 四.高可用之调用辅助脚本进行资源监控,并根据监控的结果状态实现动态调整 一.简介 ...
- 构建企业级Nginx+Keepalived集群架构
随着Nginx在国内的发展潮流,越来越多的互联网公司都在使用Nginx. Nginx高性能.稳定性成为IT人士青睐的http和反向代理服务器,今天我们来实战构建Nginx+Keepalived高可用架 ...
- FastDFS+nginx+keepalived集群搭建
安装环境 nginx-1.6.2 libfastcommon-master.zip FastDFS_v5.05.tar.gz(http://sourceforge.net/projects/fastd ...
- nginx+keepalived高可用及双主模式
高可用有2中方式. 1.Nginx+keepalived 主从配置 这种方案,使用一个vip地址,前端使用2台机器,一台做主,一台做备,但同时只有一台机器工作,另一台备份机器在主机器不出现故障的时候, ...
- nginx+keepalived高可用及双主模式【h】
高可用有2中方式. 1.Nginx+keepalived 主从配置 这种方案,使用一个vip地址,前端使用2台机器,一台做主,一台做备,但同时只有一台机器工作,另一台备份机器在主机器不出现故障的时候, ...
- Nginx+Keepalived 集群方案
1.Keepalived高可用软件 Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能.因此,kee ...
- mysql集群(双主)
0.安装 所谓双主基本可以理解为两台服务器互为主备,其核心思路与主备配置相同. 服务器A: 内网IP: 10.44.94.219 服务器B: 内网IP: 10.44.94.97 1.配置服务器A lo ...
- 企业Nginx+Keepalived双主架构案例实战
通过上一次课程的学习,我们知道Nginx+keepalived主从配置,始终有一台服务器处于空余状态,那如何更好的利用起来呢,我们需要借助Nginx+keepalived双主架构来实现,如下图通过改装 ...
- Haproxy+keepalived高可用集群实战
1.1 Haproxy+keepalived高可用集群实战 随着互联网火热的发展,开源负载均衡器的大量的应用,企业主流软件负载均衡如LVS.Haproxy.Nginx等,各方面性能不亚于硬件负载均衡 ...
随机推荐
- 如何去掉边框及input的兼容问题?
右偷个懒,发现别人写的也不错,我就做个小搬运工 如何去掉边框及input的兼容问题? 说到input,又不得不说它的兼容问题.input如何兼容各个浏览器呢? 第一步:清除input的border的默 ...
- passwd文件
1.查看/etc/passwd [admin@localhost /]$ cat -n /etc/passwd 1 root:x:0:0:root:/root:/bin/bash 2 bin:x:1: ...
- swift语言点评二十一-协议
定义有什么,及哪些必须实现. A protocol defines a blueprint of methods, properties, and other requirements that su ...
- nginx禁止特定UA访问
一.UA是什么? User Agent 简称UA,就是用户代理.通常我们用浏览器访问网站,在网站的日志中,我们的浏览器就是一种UA. 二.禁止特定UA访问 最近有个网站(www.C.com)抄袭公司主 ...
- 深入了解JWT以及JWT的执行机制
1.JWT以什么样的形式存在? eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9 ...
- ES6学习笔记(二十一)编程风格
本章探讨如何将 ES6 的新语法,运用到编码实践之中,与传统的 JavaScript 语法结合在一起,写出合理的.易于阅读和维护的代码. 1.块级作用域 (1)let 取代 var ES6 提出了两个 ...
- canvas 连线曲线图封装
$.fn.hChart=function (opt) { var setting=$.extend({ className:'', data:[] },opt); var tbody=this; va ...
- [BZOJ3673&3674]可持久化并查集&加强版
题目大意:让你实现一个可持久化的并查集(3674强制在线). 解题思路:刚刚介绍了一个叫rope的神器:我是刘邦,在这两题(实际上两题没什么区别)就派上用场了. 正解应该是主席树||可持久化平衡树,然 ...
- java 导出百万数据到excel
@RequestMapping("export") public void write(HttpServletRequest request,HttpServletResponse ...
- R语言学习(一)前言
本系列文章由 @YhL_Leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/49768161 R是一个有着统计分析功能 ...