随着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集群实战(双主架构)的更多相关文章

  1. Centos7+nginx+keepalived集群及双主架构案例

    目录简介 一.简介 二.部署nginx+keepalived 集群 三.部署nginx+keepalived双主架构 四.高可用之调用辅助脚本进行资源监控,并根据监控的结果状态实现动态调整 一.简介 ...

  2. 构建企业级Nginx+Keepalived集群架构

    随着Nginx在国内的发展潮流,越来越多的互联网公司都在使用Nginx. Nginx高性能.稳定性成为IT人士青睐的http和反向代理服务器,今天我们来实战构建Nginx+Keepalived高可用架 ...

  3. FastDFS+nginx+keepalived集群搭建

    安装环境 nginx-1.6.2 libfastcommon-master.zip FastDFS_v5.05.tar.gz(http://sourceforge.net/projects/fastd ...

  4. nginx+keepalived高可用及双主模式

    高可用有2中方式. 1.Nginx+keepalived 主从配置 这种方案,使用一个vip地址,前端使用2台机器,一台做主,一台做备,但同时只有一台机器工作,另一台备份机器在主机器不出现故障的时候, ...

  5. nginx+keepalived高可用及双主模式【h】

    高可用有2中方式. 1.Nginx+keepalived 主从配置 这种方案,使用一个vip地址,前端使用2台机器,一台做主,一台做备,但同时只有一台机器工作,另一台备份机器在主机器不出现故障的时候, ...

  6. Nginx+Keepalived 集群方案

    1.Keepalived高可用软件 Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能.因此,kee ...

  7. mysql集群(双主)

    0.安装 所谓双主基本可以理解为两台服务器互为主备,其核心思路与主备配置相同. 服务器A: 内网IP: 10.44.94.219 服务器B: 内网IP: 10.44.94.97 1.配置服务器A lo ...

  8. 企业Nginx+Keepalived双主架构案例实战

    通过上一次课程的学习,我们知道Nginx+keepalived主从配置,始终有一台服务器处于空余状态,那如何更好的利用起来呢,我们需要借助Nginx+keepalived双主架构来实现,如下图通过改装 ...

  9. Haproxy+keepalived高可用集群实战

    1.1  Haproxy+keepalived高可用集群实战 随着互联网火热的发展,开源负载均衡器的大量的应用,企业主流软件负载均衡如LVS.Haproxy.Nginx等,各方面性能不亚于硬件负载均衡 ...

随机推荐

  1. C# 实现ADSL自动断网和拨号(适用于拨号用户)

    using System;using System.Runtime.InteropServices; public struct RASCONN{    public int dwSize;    p ...

  2. 问题集锦 ~ PS

    #画正圆 按住鼠标左键 + shift (+alt 从中心扩散) #透明背景 选中选区,图层转换为智能对象,栅格化,按 delete #抠图 魔术棒,套索工具 #填充选区颜色 Ctrl+Del #填充 ...

  3. Web前端为什么这么火爆?

    Web前端为什么这么火爆? 互联网发展到今天,全球已有28.9亿互联网用户,中国有355万网站,6.5亿网民,13亿手机用户,5亿微信用户,当步入互联网+时代后,互联网已经越来越复杂,纷繁复杂的互联网 ...

  4. mysql 查询格式化时间

    select DATE_FORMAT(addtime,'$m %d %Y') from tablename 输出:01 28 2019 数据库时间格式:2019-01-28 15:01:20

  5. Java正则类

    ava.util.regex 类 Pattern java.lang.Object 继承者 java.util.regex.Pattern 所有已实现的接口: Serializable public ...

  6. [HDU5688]2016"百度之星" - 资格赛 Problem D

    题目大意:给你n个字符串,如果一个字符串可以通过重新排列变成另一个字符串,则认为这两个字符串相等.每输入一个字符串,输出这个字符串和与它相等的之前出现了几次. 解题思路:我们可以用map保存一个字符串 ...

  7. Linux 重启防火墙失败

    CentOS 7 执行service iptables start出现redirecting to systemctl ...Failed to ...not loaded. 如果出现以下错误,好像说 ...

  8. Linux系统之间文件传输 scp 命令

    个人使用记录 scp /home/liwm/Downloads/mysql-5.5.32-linux2.6-x86_64.tar.gz root@192.168.122.3:/home/oldboy/ ...

  9. Object-C,数组NSArray

    晚上回来,写了2个iOS应用程序. 就是在界面中,展示标签.一种是手动构造界面,然后绑定事件.另外一种是,使用自带的界面作为容器,但是手动向里面放其它界面元素. 书中的观点是,使用图形化界面,构造界面 ...

  10. 洛谷 P2730 魔板 Magic Squares

    P2730 魔板 Magic Squares 题目背景 在成功地发明了魔方之后,鲁比克先生发明了它的二维版本,称作魔板.这是一张有8个大小相同的格子的魔板: 1 2 3 4 8 7 6 5 题目描述 ...