当前位置: 首页 > news >正文

企业被网站收录有没有免费的微网站

企业被网站收录,有没有免费的微网站,怎样做网站推,在线二维码制作生成器目录 高可用集群搭建 Keepalived+nginx实现web高可用 一.节点规划 二.基础准备 1.修改主机名 2.关闭防火墙和selinux服务 三.用keepalived配置高可用 1.安装nginx服务 2.修改nginx配置文件 3.启动nginx 4.访问nginx 5.安装keepalived服务 6.编辑配置文件…

目录

高可用集群搭建

Keepalived+nginx实现web高可用

一.节点规划

二.基础准备

1.修改主机名

2.关闭防火墙和selinux服务

三.用keepalived配置高可用

1.安装nginx服务

2.修改nginx配置文件

3.启动nginx

4.访问nginx

5.安装keepalived服务

6.编辑配置文件

7.编写nginx状态检测脚本

8.给脚本文件755权限

9.启动keepalived

10.测试高可用

(1)测试1:

(2)测试2:

(3)测试3:

(4)测试4:

(5)测试5:


高可用集群搭建

Keepalived+nginx实现web高可用

一.节点规划

IP

主机名

节点

192.168.77.130

Master

主节点

192.168.77.132

Backup

从节点

192.168.77.100

Vip地址

二.基础准备

1.修改主机名

主节点:

Hostnamectl set-hostname master

bash

从节点:

Hostnamectl set-hostname backup

bash

2.关闭防火墙和selinux服务

Systemctl stop firewalld

Systemctl disable firewalld

Setenforce 0

三.用keepalived配置高可用

1.安装nginx服务

主节点采用编译安装方式安装nginx,从节点采用yum方式安装nginx

主节点:

安装编译环境依赖包:

#安装c语言和编译安装的环境

Yum -y install gcc gcc-c++ make automake autoconf libtool zlib zlib-devel pcre pcre-devel openssl openssl-devel

安装nginx:

Wget http://nginx.org/download/nginx-1.13.7.tar.gz

没有wget的话需要先安装wget

Yum -y install wget

解压nginx安装包:

Tar -zxvf nginx-1.13.7.tar.gz

编译安装nginx:

Cd nginx-1.13.7

#./configure是运行nginx安装脚本 --prefix是配置安装路径

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

#make && make install开始编译安装

Make && make install

从节点:

安装nginx:

Yum -y install nginx

2.修改nginx配置文件

修改nginx首页面内容为节点的IP地址,方便后续测试观察

两台机器采用不同方式安装nginx配置文件路径会有不同

主节点:

Vi /usr/local/nginx/html/index.html

修改配置为如下:

<body>

<h1>192.168.77.130</h1>

从节点:

Vi /usr/share/nginx/html/index.html

修改配置为如下:

<div id="content">

       <h1>192.168.77.132</h1>

3.启动nginx

主节点:

Cd /usr/local/nginx/sbin/

./nginx

用netstat -ntpl命令查看是否有80端口 有则说明服务已启动:

Netstat -ntpl

#如果出现未找到命令,需要下载net-tools

Yum -y install net-tools

从节点:

Systemctl start nginx

Systemctl status nginx

Netstat -ntpl

4.访问nginx

http://192.168.77.130

http://192.168.77.132

5.安装keepalived服务

主从节点:

Yum -y install keepalived

6.编辑配置文件

红字为修改的地方

vi /etc/keepalived/keepalived.conf

编辑master节点配置文件(192.168.77.130)

! Configuration File for keepalived

global_defs {                                                          #全局配置标识

   notification_email {

     acassen@firewall.loc

     failover@firewall.loc

     sysadmin@firewall.loc

   }

   notification_email_from Alexandre.Cassen@firewall.loc

   smtp_server 192.168.200.1

   smtp_connect_timeout 30

   router_id 192.168.77.130                                   #路由id,不能重复,通常为hostname

   vrrp_skip_check_adv_addr

   vrrp_strict

   vrrp_garp_interval 0

   vrrp_gna_interval 0

}

vrrp_script chk_nginx {                                         

    script "/etc/keepalived/nginx_check.sh"              #检测nginx状态的脚本路径

    interval 2                                                        #2秒运行一次上面的脚本      

}

vrrp_instance VI_1 {

    state MASTER

    interface ens33                                                #网卡名称,与本机ip地址所在网卡名

    virtual_router_id 51                                         称相同.

    priority 100

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 1111

    }

    virtual_ipaddress {                                          #设置虚拟ip

        192.168.77.100                                        #设置vip100

    }

    track_script {                                                 #执行脚本

        chk_nginx                                               #对应vrrp_script配置的脚本

    }

}

编辑backup节点配置文件(192.168.77.132)

! Configuration File for keepalived

global_defs {

   notification_email {

     acassen@firewall.loc

     failover@firewall.loc

     sysadmin@firewall.loc

   }

   notification_email_from Alexandre.Cassen@firewall.loc

   smtp_server 192.168.200.1

   smtp_connect_timeout 30

   router_id 192.168.77.132

   vrrp_skip_check_adv_addr

   vrrp_strict

   vrrp_garp_interval 0

   vrrp_gna_interval 0

}

vrrp_script chk_nginx {

    script "/etc/keepalived/nginx_check.sh"

    interval 2

}

vrrp_instance VI_1 {

    state BACKUP                                                #可选值为master或者backup

    interface ens33

    virtual_router_id 51

    priority 90                                                      #定义优先级,数字越大优先级越高,ma

    advert_int 1                                                    ster优先级必须要大于backup优先级

    authentication {

        auth_type PASS

        auth_pass 1111

    }

    virtual_ipaddress {

        192.168.77.100

    }

    track_script {

        chk_nginx

    }

}

7.编写nginx状态检测脚本

两台虚拟机都要编写

Vi /etc/keepalived/nginx_check.sh

主节点:

#!/bin/bash

#时间变量,用于记录日志

d=`date --date today +%Y%m%d_%H:%M:%S`

#计算nginx进程数量

n=`ps -C nginx --no-heading|wc -l`

#如果进程为0,则启动nginx,并且再次检测nginx进程数量,

#如果还为0,说明nginx无法启动,此时需要关闭keepalived

if [ $n -eq "0" ]; then

        /usr/local/nginx/sbin/nginx

        n2=`ps -C nginx --no-heading|wc -l`

        if [ $n2 -eq "0"  ]; then

                echo "$d nginx down,keepalived will stop" >> /var/log/check_ng.log

#杀掉keepalived,是为了防止脑裂。脑裂指的是高可用集群中,当主从切换时,主上的keepalived还在启动,会和从争抢VIP,导致后台链接服务器时,不知道连接哪台服务器好,导致出错。

                systemctl stop keepalived

        fi

fi

从节点:

#!/bin/bash

#时间变量,用于记录日志

d=`date --date today +%Y%m%d_%H:%M:%S`

#计算nginx进程数量

n=`ps -C nginx --no-heading|wc -l`

#如果进程为0,则启动nginx,并且再次检测nginx进程数量,

#如果还为0,说明nginx无法启动,此时需要关闭keepalived

if [ $n -eq "0" ]; then

        systemctl start nginx    ##因为是yum安装,启动有点不一样

        n2=`ps -C nginx --no-heading|wc -l`

        if [ $n2 -eq "0"  ]; then

                echo "$d nginx down,keepalived will stop" >> /var/log/check_ng.log

                systemctl stop keepalived

        fi

fi

8.给脚本文件755权限

Chmod 755 /etc/keepalived/nginx_check.sh

9.启动keepalived

Systemctl start keepalived         #启动

Systemctl status keepalived               #查看运行状态

Master节点成功标志:

可以看到。Master节点已经获取到了vip 192.168.77.100

Backup节点成功标志:

Backup节点上只有192.168.77.132这个ip是正常的

MASTER节点正常的情况下,BACKUP节点一定不会有浮动IP,也就是VIP只能同时在一个节点上。

10.测试高可用

为了区分master和backup两个角色,我们需要先把两台机器的Nginx做一个区分,其实编译安装的Nginx和yum安装的Nginx版本肯定不一样,事实就是如此:

通过curl -I来查看差异:

(1)测试1:

关闭master上的nginx服务

Cd /usr/local/nginx/sbin/

./nginx -s stop 

Ps -aux | grep nginx

脚本可以再次启动nginx,无法关闭

还有一种情况通过彻底关闭nginx来实现放在测试五讲解

(2)测试2:

在master上增加iptabls规则

Iptables -I OUTPUT -p vrrp -j DROP

可以发现master和backup上都出现了vip。在master上依旧有VIP,master上虽然被禁掉了VRRP协议,但它并不认为自己宕机了,所以不会释放VIP资源。如果master和backup都绑定了VIP,那么对外提供服务就会紊乱,这种情况被称为“脑裂”,这种情况是不允许发生的.

解决的话需要关闭master上的keepalived服务

恢复状态

Iptables -F

(3)测试3:

关闭master上的keepalived服务

Systemctl stop keepalived

访问vip成功切换到从上。

(4)测试4:

启动master上的keepalived服务

Systemctl start keepalived

Vip又调回到了主上。

(5)测试5:

彻底关闭nginx服务

需修改master的nginx配置文件

Vi /usr/local/nginx/conf/nginx.conf

我们在配置文件开头的woker和event前面添加个注释

测试完成后要修改回来

然后查看nginx进程

使用kill命令将nginx服务停掉

这时候我们再查看keepalived服务

能看到脚本使keepalived停掉了

然后在master和backup节点上查看ip

能看到vip成功转移到backup节点上,没有发生脑裂的情况。

至此测试完毕。

http://www.hyszgw.com/news/44611.html

相关文章:

  • 电脑如何做ppt模板下载网站查询个人房产信息网站
  • 南宁网站外包中企动力员工薪资福利
  • 深圳建网站哪家公司好淘宝客网站怎么批量采集淘宝商品方维采集淘宝数据思路
  • 苏州做网站推广的wordpress撰写邮箱
  • 觉 网站哈尔滨快速建站专业定制
  • 自己做游戏网站南海今天最新军事新闻最新消息
  • 微信网站是怎么做的类似好123门户网站开发复杂么
  • 思明区建设局官网站服装网络推广方案
  • 房产公司网站模板制造企业网站建设
  • 自贡企业网站建设wordpress服务器版
  • 做的好的茶叶网站好网站30g流量
  • 深圳专业返利网站建设忻州网站建设哪家好
  • 做网站模板用什么软件微信小程序api怎么用
  • 怎样做网站导购教程e点互动网站
  • 上海门户网站建设公司湖南公众信息网官网
  • 黑白高端大气网站设计工作室织梦dedecms模板网络服务费属于什么费用
  • 织梦网站自动跳转手机网站推广代运营公司
  • 网站搭建网站制作flash 网站源码
  • 江门cms模板建站google关键词规划师
  • 网站建设怎么更改图片网站界面设计的步骤
  • 网站开发难点分析西安二次感染最新消息
  • 国企网站建设的意义南京公共工程建设中心网站
  • 中国建设银行山东省分行网站直播网站功能怎么做
  • 深圳企业网站建设网络推广如何有效
  • 网站建设美工招聘平台门户网站建设
  • 陆良建设局网站WordPress 分类 调用
  • 网站前端需要会什么高清网站推广免费下载
  • 网站开发实训要求wordpress用什么域名好
  • 网站管理 地址:淘宝店铺装修免费模板
  • 付费资料网站开发百度爱采购推广怎么入驻