1. 高可用环境准备

  2. 后端服务器主配置文件

[192.168.2.7-root@web01~]#cat /etc/nginx/nginx.conf

user www;

worker_processes 1;

error_log /var/log/nginx/error.log warn;

pid /var/run/nginx.pid;

events {

worker_connections 1024;

}

http {

include /etc/nginx/mime.types;

default_type application/octet-stream;

 

log_format main '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"';

 

access_log /var/log/nginx/access.log main;

sendfile on;

#tcp_nopush on;

keepalive_timeout 65;

gzip on;

include /etc/nginx/conf.d/www.conf;

include /etc/nginx/conf.d/bbs.conf;

}

 

  1. 后端服务器站点目录文件

[192.168.2.7-root@web01~]#cat /etc/nginx/conf.d/bbs.conf

server {

    listen 80;

    index index.html;

    server_name bbs.etiantian.org;

location / {

    root html/bbs;

    index index.html;

}    

}

 

 

 

[192.168.2.7-root@web01~]#cat /etc/nginx/conf.d/www.conf

server {

    listen 80;

    index index.html;

    server_name www.etiantian.org;

location / {

    root html/www;

    index index.html;

}    

}

 

  1. 后端服务器网页文件

[192.168.2.7-root@web01~]#cat /etc/nginx/html/www/bingbing.html

www web01

[192.168.2.7-root@web01~]#cat /etc/nginx/html/bbs/bingbing.html

bbs web01

 

  1. 2台lb 前端配置

  2. nginx负载均衡配置

[root@lb01 ~]# cat /etc/nginx/nginx.conf

worker_processes 1;

events {

worker_connections 1024;

}

http {

include mime.types;

gzip on;

default_type application/octet-stream;

sendfile on;

keepalive_timeout 65;

log_format main '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"';

 

access_log /var/log/nginx/access.log main;

upstream spool {

server 192.168.2.7:80 weight=1 max_conns=2999 max_fails=1 fail_timeout=3s;

server 192.168.2.8:80 weight=1 max_conns=4000 max_fails=2 fail_timeout=3s;

}

server {

listen 192.168.2.3:80;

server_name www.eitantian.org;

location / {

proxy_pass http://spool;

     include proxy.conf;

}

}

server {

listen 192.168.2.4:80;

server_name bbs.etiantian.org;

location / {

proxy_pass http://spool;

     include proxy.conf;

}

}

}

 

  1. keepailved配置双主配置

    1. lb01 keepalived配置

[root@lb01 ~]# cat /etc/keepalived/keepalived.conf

[root@lb01 ~]# cat /etc/keepalived/keepalived.conf

global_defs {

router_id lb01

}

vrrp_instance VI_1 {

state MASTER

interface eth0

virtual_router_id 51

priority 150

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.2.3/24 dev eth0 label eth0:3

}

}

 

vrrp_script chk_nginx_proxy {

script "/server/scripts/chk_nginx_proxy.sh"

interval 2

weight 2

}

vrrp_instance VI_2 {

state BACKUP

interface eth0

virtual_router_id 52

priority 100

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.2.4/24 dev eth0 label eth0:4

}

track_script {

chk_nginx_proxy

}

}

  1. lb 02 keepalived 配置

[root@lb02 scripts]# cat /etc/keepalived/keepalived.conf

global_defs {

router_id lb02

}

 

vrrp_instance VI_1 {

state BACKUP

interface eth0

virtual_router_id 51

priority 100

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.2.3/24 dev eth0 label eth0:3

}

}

vrrp_script chk_nginx_proxy {

script "/server/scripts/chk_nginx_proxy.sh"

interval 2

weight 2

}

 

vrrp_instance VI_2 {

state MASTER

interface eth0

virtual_router_id 52

priority 150

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.2.4/24 dev eth0 label eth0:4

}

track_script {

chk_nginx_proxy

}

}

  1. 让内核识别网卡ip

[root@lb01 ~]# echo 'net.ipv4.ip_nonlocal_bind = 1' >>/etc/sysctl.conf

[root@lb01 ~]# sysctl -p

  1. 前端解析

[root@lb01 ~]# cat /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.2.3 www.eitantian.org

192.168.2.4 bbs.eitantian.org

 

windows本地解析

192.168.2.3 www.etiantian.org

192.168.2.4 bbs.etiantian.org

 

测试:因为是高可用

[root@nfs ~]# curl -H Host:www.etiantian.org 192.168.2.3/bingbing.html

www web01

[root@nfs ~]# curl -H Host:www.etiantian.org 192.168.2.3/bingbing.html

www web01

[root@nfs ~]# curl -H Host:bbs.etiantian.org 192.168.2.4/bingbing.html

bbs web01

[root@nfs ~]# curl -H Host:bbs.etiantian.org 192.168.2.4/bingbing.html

bbs web01

keekalived+nginx 高可用的更多相关文章

  1. keepalived对nginx高可用演练脚本

    keepalived对nginx高可用演练脚本 参考文章:http://deidara.blog.51cto.com/400447/302402/ .安装nginx.keepalived.epel-r ...

  2. Keepalived保证Nginx高可用配置

    Keepalived保证Nginx高可用配置部署环境 keepalived-1.2.18 nginx-1.6.2 VM虚拟机redhat6.5-x64:192.168.1.201.192.168.1. ...

  3. linux中keepalived实现nginx高可用配置

    linux中keepalived实现nginx高可用配置 安装keepalived 运行如下命令即可 tar -zxvf keepalived-2.0.8.tar.gz -C /usr/src cd ...

  4. 配置keepalived支持nginx高可用

    实验环境 序号 主机名 IP地址 1 nginx1 192.168.204.11 2 nginx2 192.168.204.12 安装nginx 安装nginx yum install -y epel ...

  5. 面试中的nginx高可用高并发!

    本文转自:91博客:原文地址:http://www.9191boke.com/439923471.html 面试题: nginx高可用?nginx 是如何实现并发的?为什么nginx不使用多线程?ng ...

  6. 001/Nginx高可用模式下的负载均衡与动静分离(笔记)

    Nginx高可用模式下的负载均衡与动静分离 Nginx(engine x)是一个高性能的HTTP和反向代理服务器,具有内存少,并发能力强特点. 1.处理静态文件.索引文件以及自动索引:打开文件描述符缓 ...

  7. Nginx(四):Keepalived+Nginx 高可用集群

    Keepalived+Nginx 高可用集群 (主从模式) 集群架构图 安装keepalived [root@localhost ~]# yum install -y keepalived 查看状态 ...

  8. Docker下配置KeepAlive支持nginx高可用

    案例子任务一.安装配置keepalived 步骤1:使用nginx镜像生成nginx-keep镜像 1) 启动nginx容器并进入 docker run -d --privileged nginx / ...

  9. 3.keepalived+脚本实现nginx高可用

    标题 : 3.keepalived+脚本实现nginx高可用 目录 : Nginx 序号 : 3 else exit 0 fi else exit 0 fi - 需要保证脚本有执行权限,可以使用chm ...

随机推荐

  1. django项目mysite 2

    一.表单form 为了接收用户的投票选择,我们需要在前端页面显示一个投票界面 polls/detail.html <h1>{{ question.question_text }}</ ...

  2. 基于EasyDSS流媒体RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器解决方案创建视频点播、短视频、视频资源库等视频播放系统

    需求背景 最近有很多用户咨询关于视频点播问题,主要需求集中在如何搭建属于自己的视频点播平台: 实现的功能可以大体归类为:对应自身拥有的视频文件,需要发布到一个网站,其他用户都可以实现点播观看. 针对于 ...

  3. [LeetCode] 240. Search a 2D Matrix II 搜索一个二维矩阵 II

    Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the follo ...

  4. Node.js 多线程完全指南

    [原文] 很多人都想知道单线程的 Node.js 怎么能与多线程后端竞争.考虑到其所谓的单线程特性,许多大公司选择 Node 作为其后端似乎违反直觉.要想知道原因,必须理解其单线程的真正含义. Jav ...

  5. python:封装连接数据库方法

    config.py # 数据库测试环境 name = '***' password = '******' host_port_sid = '10.**.*.**:1521/bidbuat' Oracl ...

  6. 原生js监听input值发生变化

    原生JS中可以使用oninput,onpropertychange,onchange oninput,onpropertychange,onchange的用法 1) onchange 触发事件必须满足 ...

  7. HDFS面试题

    hadoop节点动态上线下线怎么操作? )节点上线操作: 当要新上线数据节点的时候,需要把数据节点的名字追加在 dfs.hosts 文件中 ()关闭新增节点的防火墙 ()在 NameNode 节点的 ...

  8. Java开发笔记(一百三十一)Swing的列表框

    前面介绍了选择框的用法,当时为了方便用户勾勾点点,无论是复选框还是单选按钮,统统把所有选项都摆在界面上.倘若只有两三个选项还好办,要是选项数量变多比如超过五个,这么多的选择框一齐在界面罗列,不光程序员 ...

  9. configparser 文件加字典操作

    import configparser conf=configparser.ConfigParser() #創建一個對象 # f=open('db.ini','w') conf['DEFAULT'] ...

  10. SpringCloud之Zuul网关简介、映射vs过滤配置使用

    目的: Zuul路由网关简介及基本使用 Zuul路由映射配置 Zuul请求过滤配置 Zuul路由网关简介及基本使用 Zuul简介: Zuul是从设备和网站到Netflix流应用程序后端的所有请求的前门 ...