企业级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等,各方面性能不亚于硬件负载均衡 ...
随机推荐
- (转载) Android 带清除功能的输入框控件ClearEditText,仿IOS的输入框
Android 带清除功能的输入框控件ClearEditText,仿IOS的输入框 标签: Android清除功能EditText仿IOS的输入框 2013-09-04 17:33 70865人阅读 ...
- vmware workstation pro 14 虚拟机无法开启、黑屏的解决方案汇总
方案1:卸载鲁大师,重启. 方案2:管理员命令行,输入netsh winsock reset,重启. 方案3:360安全管家修复LSP,重启. 方案4:卸载14.0,安装12.0,手动导入虚拟机.
- JS异步操作之promise发送短信验证码.html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta cont ...
- jq不懂的地方
在循环列表中,获取input标签的值,不能用id获取,用class获取值,通过父级属性找到class,this 指当前点击的位置var UID = $(this).parents("tr&q ...
- Servlet中文乱码原因 解决 Get 和 Post 和客户端
一.Get方式的中文乱码 1) 使用如下页面表单内容: <form action="http://127.0.0.1:8080/day07/params" method=&q ...
- split方法切割数组
指定的字符串按"o"截取 当一个base64需要剪去前面的部分的时候 var params={ "imgJustBase64":this.zheng.split ...
- ajax错误信息
XMLHttpRequest.status状态码 1xx-信息提示 这些状态代码表示临时的响应.客户端在收到常规响应之前,应准备接收一个或多个1xx响应. 100-继续. 101-切换协议. 2xx- ...
- 关于PY的推导式
列表推导式: In [26]: [i*2 for i in range(10)] Out[26]: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18] 字典推导式: In [29] ...
- 《鸟哥的Linux私房菜》读书笔记--第0章 计算机概论 硬件部分
一个下午看了不少硬件层面的知识,看得太多太快容易忘记.于是在博客上写下读书笔记. 有关硬件 个人计算机架构&接口设备 主板芯片组为“南北桥”的统称,南北桥用于控制所有组件之间的通信. 北桥连接 ...
- 虚拟集群LVS及DR模式搭建笔记
LVS(虚拟集群Linux Virtual Server) LVS-NAT:地址转换,数据包来回都要经过NAT转换,所以Director Server(即LVS服务器)将成为系统瓶颈.使用NAT模式将 ...