一、环境及安装版本:

centos6.5、Nginx1.4.7、keepalived1.3.2

虚拟IP

真是IP

Nginx端口

主从分配

10.0.90.215

10.0.90.217

80

MASTER

10.0.90.215

10.0.90.218

80

BACKUP

二、Nginx安装

分别在10.0.90.217、10.0.90.218两台机器安装Nginx

1、  安装Nginx所需要的安装包

# yum install gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl openssl-devel

2、  上传Nginx(nginx-1.4.7.tar.gz)到/usr/local/src目录

3、  编译安装Nginx

进入Nginx上传目录

# cd /usr/local/nginx

解压安装包

# tar –zxvf nginx-1.4..tar.gz

进入解压后的文件夹

# cd nginx-1.4.

指定编译位置

# ./configure --prefix=/usr/local/nginx

编译安装

# make && make install

4、  配置Nginx

通过修改/conf/nginx.conf文件来修改Nginx的配置信息

# vim /usr/local/nginx/conf/nginx.conf

5、  系统防火墙中打开对应的端口80(默认80)或者关闭防火墙

# vim /etc/sysconfig/iptables

添加:

## nginx

-A INPUT -m state --state NEW -m tcp -p tcp --dport  -j ACCEPT

添加后重启防火墙:

# service iptables restart

或者不做第5步上述配置直接关闭防火墙(不推荐)

# service iptables stop

6、  启动nginx

# /usr/local/nginx/sbin/nginx

检查是否启动成功

浏览器访问Nginx所在机器真实IP,如下显示即为成功

查看Nginx进程

# ps -ef|grep nginx

停止Nginx

# /usr/local/nginx/sbin/nginx -s stop

重启Nginx

# /usr/local/nginx/sbin/nginx -s reload

三、Keepalived安装(分别在10.0.90.217和10.0.90.218两台机器安装)

1、 上传或下载 keepalived(keepalived-1.3.2.tar.gz)到 /usr/local/src 目录

2、  解压安装

# cd /usr/local/src/

# tar -zxvf keepalived-1.3.2.tar.gz

# ./configure --prefix=/usr/local/keepalived

# make && make install

3、 将keepalived安装成Linux系统服务

因为没有使用keepalived的默认路径安装(默认是/usr/local),安装完成后,需要手动复制默认的配置文件到默认路径

# mkdir /etc/keepalived

# cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/

## 下面这个拷贝有时会找不到文件或文件夹导致无法复制

# cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/ (可能不会成功)

## 可用如下拷贝替代:

# cp /usr/local/src/keepalived-1.3./keepalived/etc/init.d/keepalived /etc/init.d/

# 继续下面命令
# cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/ # ln -s /usr/local/sbin/keepalived /usr/sbin/ # ln -s /usr/local/keepalived/sbin/keepalived /sbin/

设置keepalived服务开机启动

# chkconfig keepalived on

4、修改keepalived配置文件

# vim /etc/keepalived/keepalived.conf

配置如下

! Configuration File for keepalived

global_defs {
# keepalived 自带的邮件提醒需要开启 sendmail 服务。建议用独立的监控或第三方 SMTP
router_id server1 ## 标识本节点的字条串,通常为 hostname
}
vrrp_script chk_nginx {
script "/etc/keepalived/check_nginx.sh" ## 检测 nginx 状态的脚本路径
interval ## 检测时间间隔
weight - ## 如果条件成立,权重-
}
vrrp_instance VI_1 {
state MASTER ## 主节点为 MASTER,对应的备份节点为 BACKUP
interface eth0 ## 绑定虚拟 IP 的网络接口,与本机 IP 地址所在的网络接口相同,我的是 eth0
virtual_router_id ## 虚拟路由的 ID 号,两个节点设置必须一样
mcast_src_ip 10.0.90.218 ## 本机 IP 地址
priority ## 节点优先级,值范围 -,MASTER 要比 BACKUP 高
advert_int ## 组播信息发送间隔,两个节点设置必须一样,默认 1s
authentication { ## 设置验证信息,两个节点必须一致
auth_type PASS
auth_pass
}
track_script {
chk_nginx ## 执行 Nginx 监控的服务
}
virtual_ipaddress {
10.0.90.215 ## 虚拟 ip,可以定义多个
}
}

check_nginx.sh脚本代码如下:

 #!/bin/bash
# curl -IL http://localhost/index.htm
count=
for (( k=; k<; k++ ))
do
check_code=$( curl --connect-timeout -sL -w "%{http_code}\\n" http://localhost/index.html -o /dev/null )
if [ "$check_code" != "" ]; then
count=$(expr $count + )
sleep
continue
else
count=
break
fi
done
if [ "$count" != "" ]; then
/etc/init.d/keepalived stop
# exit
else
exit
fi

5、最主要的一点,为check_nginx.sh增加可执行权限,否则准备不切换并且又不报错

# chmod +x /etc/check_nginx.sh

6、 修改Nginx主页增加本机IP,以便后面主备切换查看效果

# vim /usr/local/nginx/html/index.html

7、 启动keepalived(两台机器的keepalived均需要启动)

# service keepalived start
如下显示即为成功
在启动 keepalived: [确定]

8、 启动完成后在MASTER机器运行命令

# ip add

可以看到配置的虚拟ip 10.0.90.215飘到Master上

网页访问效果

9、  停止Master服务

# service keepalived stop

10、在BACKUP机器运行

# ip add

发现虚拟IP已经飘到BUCKUP机器

网页访问效果:

KeepAlived+nginx配置完成。

KeepAlived参数详情请参考:

KeepAlived+Nginx实现高可用负载的更多相关文章

  1. [转]搭建Keepalived+Nginx+Tomcat高可用负载均衡架构

    [原文]https://www.toutiao.com/i6591714650205716996/ 一.概述 初期的互联网企业由于业务量较小,所以一般单机部署,实现单点访问即可满足业务的需求,这也是最 ...

  2. Keepalived+Nginx实现高可用负载均衡集群

    一 环境介绍 1.操作系统CentOS Linux release 7.2.1511 (Core) 2.服务keepalived+nginx双主高可用负载均衡集群及LAMP应用keepalived-1 ...

  3. Keepalived + Nginx + Tomcat 高可用负载均衡架构

    环境: 1.centos7.3 2.虚拟ip:192.168.217.200 3.192.168.217.11.192.168.217.12上分别部署Nginx Keepalived Tomcat并进 ...

  4. lvs + keepalived + nginx + tomcat高可用负载反向代理服务器配置(一) 简介

    一. 为什么这样构架 1. 系统高可用性 2. 系统可扩展性 3. 负载均衡能力 LVS+keepalived能很好的实现以上的要求,keepalived提供健康检查,故障转移,提高系统的可用性!采用 ...

  5. Linux巩固记录(9) keepalived+nginx搭建高可用负载分发环境

    环境准备(继续服用hadoop节点) slave1  192.168.2.201(CentOs 7) slave2  192.168.2.202(CentOs 7) slave1 和 slave2 上 ...

  6. LVS+Keepalived+Nginx+Tomcat高可用负载均衡集群配置(DR模式,一个VIP,多个端口)

    一.概述 LVS作用:实现负载均衡 Keepalived作用:监控集群系统中各个服务节点的状态,HA cluster. 配置LVS有两种方式: 1. 通过ipvsadm命令行方式配置 2. 通过Red ...

  7. lvs + keepalived + nginx + tomcat高可用负载反向代理服务器配置(三) Nginx

    1.  安装 sudo apt-get install nginx 2. 配置nginx sudo gedit /etc/nginx/nginx.conf user www-data; worker_ ...

  8. lvs + keepalived + nginx + tomcat高可用负载反向代理服务器配置(二) LVS+Keepalived

    一.安装ipvs sudo apt-get install ipvsadm 二.安装keepalived sudo apt-get install keepalived 三.创建keepalived. ...

  9. Dubbo入门到精通学习笔记(十六):Keepalived+Nginx实现高可用Web负载均衡

    文章目录 Keepalived+Nginx实现高可用Web负载均衡 Keepalived+Nginx实现高可用Web负载均衡 高可用架构篇 Keepalived + Nginx 实现高可用 Web 负 ...

随机推荐

  1. Angular--ui-router的使用

    先引用Angular然后引用ui-router 路由清单:我们依赖的ui.router中提供了一个服务$state,此时可以用config来配置这个服务.用$stateProvider的state方法 ...

  2. centos7使用cobbler(2.8)批量部署操作系统之一

    一.    批量部署操作系统的前提 要想批量部署操作系统,得具备以下条件: 客户机支持pxe网络引导 服务器端和客户端建立网络通信(DHCP) 服务器端要有可供客户机开机引导的引导文件 服务器端的可引 ...

  3. P2286 [HNOI2004]宠物收养场

    题目描述 凡凡开了一间宠物收养场.收养场提供两种服务:收养被主人遗弃的宠物和让新的主人领养这些宠物. 每个领养者都希望领养到自己满意的宠物,凡凡根据领养者的要求通过他自己发明的一个特殊的公式,得出该领 ...

  4. CentOS 6.9 升级MySQL 5.6.36到5.7.18

    CentOS 6.9 升级MySQL 5.6.36到5.7.18 MySQL 5.6.36 安装过程:http://www.cnblogs.com/imweihao/p/7156754.html 升级 ...

  5. MySQL二进制日志备份和恢复详解

    原文链接:http://www.showerlee.com/archives/681 ****经实践,该教程ok,特在此分享**** 基本概念 定义: 二进制日志包含了所有更新了数据或者已经潜在更新了 ...

  6. Linux查看内存占用情况

    输入:top PID 进程的ID USER 进程所有者 PR 进程的优先级别,越小越优先被执行 Ninice 值 VIRT 进程占用的虚拟内存 RES 进程占用的物理内存 SHR 进程使用的共享内存 ...

  7. Linux 文本行列转换

    使用awk进行行列转换 假设有一个文件 test ,包含的数据遵循以下格式: 同一行数据,单词之间为1个空格" " 每一行都有同样多的数据,个数相同 处理命令: awk '{for ...

  8. FreeRTOS——错误排查

    1. printf-stdarg.c 在调用标准库函数时,栈空间的用量可能急剧上升,特别是IO与字符串处理函数,比如 sprintf(). 在FreeRTOS下载包中有一个名为printf-stdar ...

  9. [luogu P3801] 红色的幻想乡 [线段树][树状数组]

    题目背景 蕾米莉亚的红雾异变失败后,很不甘心. 题目描述 经过上次失败后,蕾米莉亚决定再次发动红雾异变,但为了防止被灵梦退治,她决定将红雾以奇怪的阵势释放. 我们将幻想乡看做是一个n*m的方格地区,一 ...

  10. 正则表达式小结(Regular Expressions)

    (原创文章,谢绝转载~) 日常开发中,常用正则表达式方便的进行匹配.筛选工作.正则的常用内容有: 一般情况下原则:从左至右,越多越好(贪婪) 字符:转义:\ ,如 \*,\d (数字)等 选择,cas ...