HAProxy基于Keepalived做高可用并简单实现Web站点的动静分离

资讯 2024-06-16 阅读:102 评论:0
HAPROXy是一个自由、快速和可靠的解决方案,它为TPCP和HTTP提供了高可用性、负载平衡和代理应用程序。 它特别适合非常高流量的地点。 多年来,它已成为一个标准的开放源负载平衡,现在可以使用最主流的Linux释放和通常默认的云层平台部...
美化布局示例

欧易(OKX)最新版本

【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   全球官网 大陆官网

币安(Binance)最新版本

币安交易所app【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   官网地址

火币HTX最新版本

火币老牌交易所【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   官网地址

HAPROXy是一个自由、快速和可靠的解决方案,它为TPCP和HTTP提供了高可用性、负载平衡和代理应用程序。 它特别适合非常高流量的地点。 多年来,它已成为一个标准的开放源负载平衡,现在可以使用最主流的Linux释放和通常默认的云层平台部署。

  haproxy | centerhaproxy | center

  haproxy-pmode.pnghaproxy-pmode.png

实验主要包括将两个背对背代理服务器放在前端,并实现后端网站。

2. 东道国名单

节点名称

  eth0

  eth1

虚拟IPIP

主要职能主要职能

  node1

  172.16.100.1

  192.168.1.11

  192.168.1.10

  HAProxy Active

  node2

  172.16.100.2

  192.168.1.12

  192.168.1.10

  HAProxy Backup

  node3

  172.16.100.3

  HTTP Static

  node4

  172.16.100.4

  HTTP Dynamic

一. 基本配置

1. 所有节点的解决

  127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

  ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

  172.16.100.1 node1 node1.redhat.com

  172.16.100.2 node2 node2.redhat.com

  172.16.100.3 node3 node3.redhat.com

  172.16.100.3 node3 node3.redhat.com

2. Ssh信托基金

  node1

  [root@node1 ~]# ssh-keygen -t rsa -P “”

  [root@node1 ~]# ssh-copy-id -i .ssh/id_rsa.pub node2

  node2

  [root@node2 ~]# ssh-keygen -t rsa -P “”

  [root@node2 ~]# ssh-copy-id -i .ssh/id_rsa.pub node1

3. 时间同步化

  node1

  [root@node1 ~]# ntpdate 172.16.0.254

  node2

  [root@node2 ~]# ntpdate 172.16.0.254

查看时间是否同步化

  [root@node1 ~]# date;ssh node2 ‘date’

  Sat Apr 16 10:59:11 CST 2016

  Sat Apr 16 10:59:11 CST 2016

二. 配置节点1和节点2节点上的保存寿命服务

1. 将两件两件分开的活物堆叠在一起,

  [root@node1 ~]# yum install keepalived -y;ssh node2 ‘yum install keepalived -y’

2. 编辑节点上的配置文件1

  [root@node1 ~]# vim /etc/keepalived/keepalived.conf

  global_defs {

  notification_email {

  root@localhost

  }

  notification_email_from admin@localhost

  smtp_server 127.0.0.1

  smtp_connect_timeout 30

  router_id LVS_DEVEL

  }

  vrrp_script chk_maintanance {

  script "[ -f /etc/keepalived/down ] && exit 1 || exit 0"

  interval 3

  weight -20

  }

  vrrp_instance VI_1 {

状态 MaSTER # 配置为主节点

接口 eth1 # 将虚拟 IP 配置为 eth1 接口

  virtual_router_id 51

力量的重量是100

  advert_int 1

  authentication {

  auth_type PASS

#通过5cd 403375c99da360bcaf06

  }

  virtual_ipaddress {

192.168.1.10 #虚拟IP地址

  }

  track_script {

  chk_maintanance

  }

  }

3. 将配置复制到节点2

  [root@node1 ~]# scp /etc/keepalived/keepalived.conf node2:/etc/keepalived/keepalived.conf

4. 将配置修改为节点上的节点2

  [root@node2 ~]# vim /etc/keepalived/keepalived.conf

  global_defs {

  notification_email {

  root@localhost

  }

  notification_email_from admin@localhost

  smtp_server 127.0.0.1

  smtp_connect_timeout 30

  router_id LVS_DEVEL

  }

  vrrp_script chk_maintanance {

  script "[ -f /etc/keepalived/down ] && exit 1 || exit 0"

  interval 3

  weight -20

  }

  vrrp_instance VI_1 {

州备份 # # 配置为备份节点

接口 eth1 # 将虚拟 IP 配置为 eth1 接口

  virtual_router_id 51

力量的重量是99

  advert_int 1

  authentication {

  auth_type PASS

#通过5cd 403375c99da360bcaf06

  }

  virtual_ipaddress {

192.168.1.10 #虚拟IP地址

  }

  track_script {

  chk_maintanance

  }

  }

5. 激活两个节点的服务

  [root@node1 ~]# service keepalived start;ssh node2 ‘service keepalived start’

三. 在节点1和节点2节点配置 HAProxy 服务

1. 在两个节点上安装handroxxy

  [root@node1 ~]# yum install haproxy -y;ssh node2 ‘yum install haproxy -y’

2. 编辑节点上的配置文件1

  [root@node1 ~]# vim /etc/haproxy/haproxy.cfg

  global

  log 127.0.0.1 local2

  chroot /var/lib/haproxy

  pidfile /var/run/haproxy.pid

  maxconn 4000

  user haproxy

  group haproxy

  daemon

  stats socket /var/lib/haproxy/stats

  defaults

  mode http

  log global

  option httplog

  option dontlognull

  option http-server-close

  option forwardfor except 127.0.0.0/8

  option redispatch

  retries 3

  timeout http-request 10s

  timeout queue 1m

  timeout connect 10s

  timeout client 1m

  timeout server 1m

  timeout http-keep-alive 10s

  timeout check 10s

  maxconn 3000

  frontend main *:80

acl URL-静态路径_beg-i/静态/图像 / javascript/ 样式表 #ACL 静态内容规则

acl URl_static path_end-i.jpg.gif.png.css.js #staticpath_end-i.jpg.gpg.gpg.pg.png.cs.js#ACL静态内容规则

如果 URL_stistic # 如果 CC 符合静态内容, 那就使用状态服务器 。

动态服务器上将使用所有与静态内容不匹配的访问控制列表请求。

  backend static

旋转算法

服务器节点3 172.16. 100.3:80 check #stat服务器地址

  backend dynamic

平衡圆形 # 旋轉算法

Cookie SLV_ID 插入插头

服务器节点4 172.16. 100.4: 80 check cookie节点4 # 动态服务器地址并设定 cookies 值

4. 实施 handroxy 日志配置的文件

  [root@node1 ~]# vim /etc/rsyslog.conf

  $ModLoad imuxsock # provides support for local system logging (e.g. via logger command)

  $ModLoad imklog # provides kernel logging support (previously done by rklogd)

Mod 装入图像p # working'udp 协议

$UDPServerRun 514 # 允许 Port 514 接收使用 UDP 协议转发的日志

  $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

  $IncludeConfig /etc/rsyslog.d/*.conf

  *.info;mail.none;authpriv.none;cron.none /var/log/messages

  authpriv.* /var/log/secure

  mail.* -/var/log/maillog

  cron.* /var/log/cron

  *.emerg *

  uucp,news.crit /var/log/spooler

  local7.* /var/log/boot.log

本地2. */ var/log/ hoproxy.log # 对应 Haproxy 的日志设置

5. 将修改后的配置文件复制到节点2

  [root@node1 ~]# scp /etc/rsyslog.conf node2:/etc/rsyslog.conf

  [root@node1 ~]# scp /etc/haproxy/haproxy.cfg node2:/etc/haproxy/haproxy.cfg

6. 服务和服务

  [root@node1 ~]# service haproxy start;ssh node2 ‘service haproxy start’

  [root@node1 ~]# service rsyslog restart;ssh node2 ‘service rsyslog restart’

四. 配置固定地点

1. 服务

  [root@node3 ~]# yum install httpd -y

2. 在目录下准备一张图片

  [root@node3 ~]# ls /var/www/html/

  magedu.png

3. 推出 " httpd " 服务

  [root@node3 ~]# service httpd start

五. 配置动态网站

1. 服务

  [root@node3 ~]# yum install httpd php -y

2. 编制目录下的文件

  [root@node4 ~]# vim /var/www/html/index.php

  

  Welcome to magedu.com

  

  

  

  echo "

Welcome to Magedu

";

  ?>

  

  

3. 推出 " httpd " 服务

  [root@node3 ~]# service httpd start

i. 保持寿命,实现HAProxy高可用率测试

1. 首先先看节点的虚拟 IP 配置是否成功

  Alt textAlt textMASTER_IP.jpgMASTER_IP.jpg

您可以在 eth1 界面上成功看到虚拟 IP 配置 。

2. 打开浏览器并输入测试虚拟地址

  Alt textAlt text1.gif1.gif

测试没问题

3. 降低节点1下调并看到节点状态

  [root@node1 ~]# touch /etc/keepalived/down

  Alt textAlt textBACKUP_IP.jpgBACKUP_IP.jpg

虚拟 IP 传输到节点2

4. 刷新浏览器,以确定您是否仍然可以访问它。

  Alt textAlt text2.gif2.gif

测试没问题

二. 网址的地理分离测试

1. 打开浏览器,打开 F12 上的调试工具,输入虚拟地址并查看资源是否已装入

  Alt textAlt text3.gif3.gif

成功装入网络文件和照片资源

2. 关闭节点3的 httpd 服务并测试是否继续装载资源

  [root@node3 ~]# service httpd stop

  Alt textAlt text4.gif4.gif

当静态服务器停止服务时, 无法装入照片资源 。

3. 恢复节点3的httpd服务,以测试是否继续装载资源

  [root@node3 ~]# service httpd start

  Alt textAlt text5.gif5.gif

一旦静态服务器恢复服务,照片资源就可以再次装入。

其中,我加入了饼干,但是只有一个服务器, 这是为了方便实验, 这样感兴趣的学生可以加入更多的服务器, 测试饼干的效果。 实验就在这里, 如果实验有问题, 他们可以在注释区域留下信息 。

若重印张晓凡的原文文章,请注明来源:http://www.178linux.com/14923。

美化布局示例

欧易(OKX)最新版本

【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   全球官网 大陆官网

币安(Binance)最新版本

币安交易所app【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   官网地址

火币HTX最新版本

火币老牌交易所【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   官网地址
文字格式和图片示例

注册有任何问题请添加 微信:MVIP619 拉你进入群

弹窗与图片大小一致 文章转载注明

分享:

扫一扫在手机阅读、分享本文

发表评论
平台列表
美化布局示例

欧易(OKX)

  全球官网 大陆官网

币安(Binance)

  官网

火币(HTX)

  官网

Gate.io

  官网

Bitget

  官网

deepcoin

  官网
热门文章
  • 区块链社区有哪些?区块链社区是什么?

    区块链社区有哪些?区块链社区是什么?
    展开全文...
  • 0.00006694个比特币等于多少人民币/美金

    0.00006694个比特币等于多少人民币/美金
    0.00006694比特币等于多少人民币?根据比特币对人民币的最新汇率,0.00006694比特币等于4.53424784美元/32.5436 16人民币。比特币(BTC)美元(USDT)人民币(CNY)0.000066944.53424784【比特币密码】32.82795436 16比特币对人民币的最新汇率为:490408.64 CNY(1比特币=490408.64人民币)(1美元=7.24人民币)(0.00006694USDT=0.0004846456 CNY)汇率更新时...
  • 0.00003374个比特币等于多少人民币/美金

    0.00003374个比特币等于多少人民币/美金
    0.00003374比特币等于多少人民币?根据比特币对人民币的最新汇率,0.00003374比特币等于2.2826 1222美元/16.5261124728人民币。比特币(BTC)美元(USDT)人民币(CNY)0.00003374克洛克-0/22216.5261124728比特币对人民币的最新汇率为:489807.72 CNY(1比特币=489807.72人民币)(1美元=7.24人民币)(0.00003374USDT=0.0002442776 CNY)。汇率更新于2024...
  • 0.00015693个比特币等于多少人民币/美金

    0.00015693个比特币等于多少人民币/美金
    0.000 15693比特币等于多少人民币?根据比特币对人民币的最新汇率,0.000 15693比特币等于10.6 1678529美元/76.86554996人民币。比特币(BTC)【比特币价格翻倍】美元(USDT)人民币(CNY)0.000/克洛克-0/5693【数字货币矿机】10.6 167852976.8655254996比特币对人民币的最新汇率为:489,807.72 CNY(1比特币= 489,807.72人民币)(1美元=7.24人民币)(0.00015693 U...
  • 带你进入一次元宇宙,让你亲身体会如何在元宇宙中抓住自己的机会

    带你进入一次元宇宙,让你亲身体会如何在元宇宙中抓住自己的机会
    元宇宙是个怎样的世界?鑫哥今天带你进入一次元宇宙。今天用最简单明了的语言来解释一下元宇宙,还有如何利用元宇宙实现财富自由。What kind of world is Yuan cosmos? Brother Jin took you into the Yuan cosmos today. Today, explain the Yuan cosmos in the simplest language, and how to use the Yuan cosmos for the...
标签列表