随着Nginx在国内的发展潮流,越来越多的互联网公司都在使用Nginx。

Nginx高性能、稳定性成为IT人士青睐的http和反向代理服务器,今天我们来实战构建Nginx+Keepalived高可用架构配置,如下为网络架构图:

一、环境准备:

系统环境:CentOS 6.5 x86_64

Nginx版本:nginx v1.6.2

Keepalived版本:keepalived v1.2.1

Nginx-1:192.168.33.8 (Master)

Nginx-2:192.168.33.10 (Backup)

二、Nginx安装配置:

分别在两台服务器安装Nginx、keepalived,如下:

yum install -y pcre-devel   安装perl 兼容的正规表达式库

tar -xzf nginx-1.6.2.tar.gz && cd nginx-1.6.2 ; sed -i -e 's/1.6.2//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

三、Keepalived安装配置:

tar -xzvf keepalived-1.2.1.tar.gz &&cd keepalived-1.2.1 && ./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/

Nginx、Keepalived软件安装完毕,接下来进行详细配置。

四、配置Keepalived:

两台服务器端keepalived.conf内容都为如下,都设置为backup,不抢占,注意修改备用机优先级不同:

! Configuration File for keepalived

global_defs {

notification_email {

wgkgood@163.com

}

notification_email_from wgkgood@163.com

smtp_server 127.0.0.1

smtp_connect_timeout 30

router_id LVS_DEVEL

}

vrrp_script chk_nginx {

script "/data/sh/check_nginx.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  1111

}

virtual_ipaddress {

192.168.33.188

}

track_script {

chk_nginx

}

}

如上配置,我们需要自己建立check_nginx脚本,以方便检查本地Nginx是否存活更好的切换。Check_nginx.sh脚本内容如下:

#!/bin/bash

#auto check nginx  process

#2012-10-16 wugk

killall  -0   nginx

if

[[ $? -ne 0 ]];then

/etc/init.d/keepalived stop

fi

五、Nginx 配置:

在两台Nginx服务器分别新建index.html测试页面,然后启动Nginx服务测试。

访问VIP http://192.168.33.188能出现界面即可。

构建企业级Nginx+Keepalived集群架构的更多相关文章

  1. 企业级Nginx+Keepalived集群实战(双主架构)

    随着Nginx在国内的发展潮流,越来越多的互联网公司都在使用Nginx,Nginx高性能.稳定性成为IT人士青睐的HTTP和反向代理服务器.Nginx负载均衡一般位于整个网站架构的最前端或者中间层,如 ...

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

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

  3. FastDFS+nginx+keepalived集群搭建

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

  4. Linux实战教学笔记33:lvs+keepalived集群架构服务

    一,LVS功能详解 1.1 LVS(Linux Virtual Server)介绍 LVS是Linux Virtual Server 的简写(也叫做IPVS),意即Linux虚拟服务器,是一个虚拟的服 ...

  5. lvs+keepalived集群架构服务

    一,LVS功能详解 1.1 LVS(Linux Virtual Server)介绍 LVS是Linux Virtual Server 的简写(也叫做IPVS),意即Linux虚拟服务器,是一个虚拟的服 ...

  6. Nginx+Keepalived 集群方案

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

  7. 19.Tomcat集群架构

    1.Nginx+Tomcat集群架构介绍 2.Nginx+Tomcat集群架构实战 [root@lb01 conf.d]# cat proxy_zrlog.cheng.com.conf upstrea ...

  8. 网站集群架构(LVS负载均衡、Nginx代理缓存、Nginx动静分离、Rsync+Inotify全网备份、Zabbix自动注册全网监控)--技术流ken

    前言 最近做了一个不大不小的项目,现就删繁就简单独拿出来web集群这一块写一篇博客.数据库集群请参考<MySQL集群架构篇:MHA+MySQL-PROXY+LVS实现MySQL集群架构高可用/高 ...

  9. 构建MHA实现MySQL高可用集群架构

    一.MHA简介 MHA(Master HighAvailability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开 ...

随机推荐

  1. 关于responseBody注解中文乱码的问题解决

    在web.xml中定义字符集过滤器: <filter> <filter-name>SpringEncodingFilter</filter-name> <fi ...

  2. MLlib--PIC算法

    转载请标明出处http://www.cnblogs.com/haozhengfei/p/82c3ef86303321055eb10f7e100eb84b.html PIC算法   幂迭代聚类     ...

  3. 数据库01创建表和DML语言

    楼主用的数据库时mysql,用的时navacat for mysql. 数据库层面: 1.显示所有数据库 show databases; 2.创建数据库,名字叫lyh,编码为utf-8 create ...

  4. JSP内置对象1(request,response,session)

    request对象 response对象:请求重定向与请求转发的区别. session对象:表示客户端与服务器的一次会话,也就是用户浏览网站所花费的时间.在服务器的内存中保存着不同用户的session ...

  5. Linux chmod命令及权限含义

    对于一条权限赋值命令:sudo chmod  -R 764 ×××:我们必须了解其含义: (1)各字段含义:sudo chmod  -R(更改文件夹及其子文件夹)                    ...

  6. API接口安全性设计

    http://www.jianshu.com/p/c6518a8f4040 接口的安全性主要围绕Token.Timestamp和Sign三个机制展开设计,保证接口的数据不会被篡改和重复调用,下面具体来 ...

  7. Code4 APP

    MJExtension 斯坦福大学公开课

  8. html input验证只能输入数字,不能输入其他

    html input验证只能输入数字,不能输入其他 此方法为借鉴别人的,在此只做记录. <input type="text" onkeyup="if(!/^\d+$ ...

  9. python 闭包初识

    def func_100(val): passline = 60 if val >= passline: print('pass') else: print('failed') def func ...

  10. Azure Powershell获取指定订阅下的虚拟机信息(ASM)

    为方便Azure用户导出已创建虚拟机的相关信息,特编写如下脚本: 详情脚本: # 登陆Azure Account Add-AzureAccount -Environment AzureChinaClo ...