广告位联系
返回顶部
分享到

Nginx结合keepalived实现集群介绍

nginx 来源:互联网 作者:佚名 发布时间:2024-05-11 22:53:20 人浏览
摘要

Nginx与keepalived实现集群实现的效果 两台服务器都安装Nginx与keepalived: master服务器的ip(192.168.200.2) backup服务器的ip(192.168.200.4) 将 master服务器Nginx与keepalived都停掉,在 backup服务器里的浏览器输入

Nginx与keepalived实现集群实现的效果

两台服务器都安装Nginx与keepalived:
master服务器的ip(192.168.200.2)
backup服务器的ip(192.168.200.4)
将 master服务器Nginx与keepalived都停掉,在 backup服务器里的浏览器输入http://192.168.188.100,访问Nginx首页
备注:192.168.188.100是keepalived的虚拟ip

第一步:准备两台服务器,示例如下图所示

在这里插入图片描述

第二步:给两台服务器安装Nginx

在终端里输入: su root 切换到root用户角色方便后面输入指令执行操作,如果提示输入密码错误,退出,在终端里输入 sudo passwd 按回车键 输入密码,成功后再输入 su root 切换到root角色;

安装nginx.:终端里输入apt-get install nginx, 如果没有切换到root , 输入sudo apt-get install nginx

启动Nginx:终端里输入service nginx start

在浏览器里输入服务器的ip地址验证Nginx启动成功
master服务器

在这里插入图片描述

backup服务器

在这里插入图片描述

第三步:给两台服务器安装keepalived

在终端里输入:apt-get install keepalived,如果没有切换到root , 输入sudo apt-get install keepalived

keepalived安装完之后切换到etc目录,在终端里输入:cd /etc,接着输入:ls,如下图所示,

在这里插入图片描述

切换到keepalived目录:cd keepalived, ls查看keepalived里的文件,如果里面没有keepalived.conf和check_nginx.sh文件,分别输入touch keepalived.conf,touch check_nginx.sh 即创建两个对应的文件。

在这里插入图片描述

编辑keepalived.conf:终端里输入:vi keepalived.conf
提醒:如果没有vi指令,需要先安装vim, 在终端里输入apt-get install vim

在这里插入图片描述

查看master服务器的网卡名称:输入ifconfig

在这里插入图片描述

master服务器的keepalived.conf 内容如下

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

global_defs {

   router_id LVS_MASTER  #名称标记为master,名字随便取

   vrrp_gna_interval 0

}

 

#加入周期性检测nginx服务脚本的相关配置

vrrp_script check_nginx{

    script "/etc/keepalived/check_nginx.sh" #心跳执行的脚本,检测nginx是否启动

    interval 2                           #(检测脚本执行的间隔,单位是秒)

}

 

vrrp_instance VI_1 {

    state MASTER #指定当前节点为master节点,只能有一个master,其余只能是backup

    interface ens33 #绑定此虚拟路由使用的网卡的名称,使用ifconfig或者ip addr查看

    virtual_router_id 99 #指定虚拟路由id,虚拟路由的唯一标识,范围是0-255,mater和backup节点需要指定一样的,相同id为一组

    priority 200 #指定当前结点的优先级,master节点要大于backup节点。

    advert_int 1 #指定发送VRRP通告的间隔,单位是秒

    virtual_ipaddress {

        192.168.188.100 #指定虚拟ip,自定义的虚拟ip

    }

     

    #添加跟踪(执行脚本)

    track_script{

        check_nginx

    }

}

编辑完keepalived.conf 内容,在终端里按住键盘shift+:(冒号)键,然后输入wq,即退出并保存

backup服务器的网卡名称

在这里插入图片描述

backup服务器的keepalived.conf 内容如下

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

global_defs {

   router_id LVS_BACKUP  #名称标记为BACKUP,只要不是MASTER,名字随便取

   vrrp_gna_interval 0

}

 

#加入周期性检测nginx服务脚本的相关配置

vrrp_script check_nginx{

    script "/etc/keepalived/check_nginx.sh" #心跳执行的脚本,检测nginx是否启动

    interval 2                           #(检测脚本执行的间隔,单位是秒)

}

 

vrrp_instance VI_1 {

    state BACKUP #指定当前节点为master节点,只能有一个master,其余只能是backup

    interface ens33 #绑定此虚拟路由使用的网卡的名称,使用ifconfig或者ip addr查看

    virtual_router_id 99 #指定虚拟路由id,虚拟路由的唯一标识,范围是0-255,mater和backup节点需要指定一样的,相同id为一组

    priority 199 #指定当前结点的优先级,master节点要大于backup节点。

    advert_int 1 #指定发送VRRP通告的间隔,单位是秒

    virtual_ipaddress {

        192.168.188.100 #指定虚拟ip,自定义的虚拟ip, 注意一定是和master的服务器里虚拟ip一样的

    }

     

    #添加跟踪(执行脚本)

    track_script{

        check_nginx

    }

}

两台服务器编辑check_nginx.sh:终端里输入:vi check_nginx.sh

在这里插入图片描述

check_nginx.sh内容

1

2

3

4

5

6

7

8

9

#!/bin/bash

#检测nginx是否启动了

A=`ps -C nginx --no-header |wc -l`       

if [ $A -eq 0 ];then    #如果nginx没有启动就启动nginx                       

      /root/ydy/nginx/sbin/nginx                #重启nginx,也可以使直接监听应用服务

      if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then    #nginx重启失败,则停掉keepalived服务,进行VIP转移

              killall keepalived                   

      fi

fi

第四步:启动两台服务器的keepalived

在master服务器终端里输入service keepalived start
查看绑定的网卡

在这里插入图片描述

验证keepalived虚拟ip调用,在master服务器的浏览器输入http://192.168.188.100

在这里插入图片描述

第五步:关闭master服务器的Nginx和keepalived,在 backup服务器里的浏览器输入http://192.168.188.100,访问Nginx首页

在master服务器终端里输入service keepalived stop

在master服务器终端里输入service nginx stop

在 backup服务器里的浏览器输入http://192.168.188.100

在这里插入图片描述


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • nginx将https协议反向代理到http协议请求上

    nginx将https协议反向代理到http协议请求上
    1、问题背景 目前一个系统仅支持https协议访问,因后端服务基于ssl协议,前端在请求是也需要支持ssl协议的https请求来访问。目前的代理服
  • Nginx结合keepalived实现集群介绍

    Nginx结合keepalived实现集群介绍
    Nginx与keepalived实现集群实现的效果 两台服务器都安装Nginx与keepalived: master服务器的ip(192.168.200.2) backup服务器的ip(192.168.200.4) 将 master服务器
  • Nginx多虚拟主机配置介绍2

    Nginx多虚拟主机配置介绍2
    最近写公司项目,需要和前端小伙伴对接,但是有时候只是后端的一个bug,也不好意思一直让前端小伙伴帮忙起服务,所以想着直接拿测试
  • Nginx配置网页转发的实现介绍

    Nginx配置网页转发的实现介绍
    需求 将云服务器的80端口转发到另一台服务器部署的网页 1. 方式一 直接跳转到另一个网站 这种方式就是打开当前云服务器的公网ip绑定的域
  • Nginx反向代理缓存(proxy_cache)的实现
    如图所示,nginx缓存,可以在一定程度上,减少源服务器的处理请求压力。因为静态文件(比如css,js, 图片)中,很多都是不经常更新的。
  • Nginx ssi合并页面的具体实现介绍

    Nginx ssi合并页面的具体实现介绍
    在做一个网站时,页面上会有很多重复的内容,每个页面写一遍很冗余,修改时还容易遗漏,所以可以把公共的部分写好,放在单独的HTML中
  • Nginx启动显示80端口占用问题的解决方案

    Nginx启动显示80端口占用问题的解决方案
    1. 问题描述 在启动nginx服务的时候显示内容如下: 1 sudo systemctl status nginx 问题出现原因: 根据日志显示,Nginx 服务启动失败,主要原因是无
  • nginx代理参数proxy_pass的实现

    nginx代理参数proxy_pass的实现
    proxy_pass参数用于配置反向代理,指定客户端请求被转发到后端服务器,后端地址可以是域名、ip端口URI 代理后端报错提示本地找不到CSS文件
  • 分割nginx日志的实现(避免日志多大)

    分割nginx日志的实现(避免日志多大)
    1. 问题提出 nginx的日志没有切分,会非常大,不利于日志的删除和查看 2. 解决思路 写一个脚本,去切分日志 使用crontab写一个定时任务,每
  • 利用Nginx反向代理功能自建CDN加速页面服务
    一般我们选用CDN加速服务会用到第三方CDN服务,也有利用服务器自建CDN软件工具。当然,我们还可以用到Nginx Web反代的方式实现缓存加速页
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计