Linux系统下如何配置HTTP负载均衡系统(2) - 万象系统之家

万象系统之家 - 系统光盘下载网站!

当前位置:万象系统之家 > 系统教程 > Linux系统配置HTTP负载均衡系统

Linux系统下如何配置HTTP负载均衡系统(2)

时间:2014-12-09 10:04:25 作者:qipeng 来源:万象系统之家 1. 扫描二维码随时看资讯 2. 请使用手机浏览器访问: https://m.xitongzhijia.net/xtjc/20141208/32060.html 手机查看 评论

  下面是HAProxy统计数字的一个例子。

 Linux系统下如何配置HTTP负载均衡系统

 

  “balance roundrobin”这一行定义了我们将使用哪种类型的负载均衡。在本教程中,我们将使用简单的轮叫调度算法,这对HTTP负载均衡来说完全绰绰有余。HAProxy还提供了其他类型的负载均衡:

  •leastconn:连接数最少的服务器优先接收连接。

  •source:对源IP地址进行哈希处理,用运行中服务器的总权重除以哈希值,即可决定哪台服务器将接收请求。

  •uri:URI的左边部分(问号前面)经哈希处理,用运行中服务器的总权重除以哈希值。所得结果决定哪台服务器将接收请求。

  •url_param:变量中指定的URL参数将在每个HTTP GET请求的查询串中进行查询。你基本上可以将使用蓄意制作的URL(crafted URL)的请求锁定于特定的负载均衡节点。

  •hdr(name):HTTP头《name》 将在每个HTTP请求中进行查询,被定向到特定节点。

  “cookie LBN insert indirect nocache”这一行让我们的负载均衡系统存储持久性cookie,这让我们得以准确查明集群中的哪个节点用于某一个会话。这些节点cookie将与指定的名称一并存储起来。在我们这个例子中,我使用了“LBN”,但你可以指定自己喜欢的任意名称。节点将为该cookie把字符串作为一个值而存储起来。

  server web01 192.168.100.2:80 cookie node1 check server web02 192.168.100.3:80 cookie node2 check

  上述部分对网站服务器节点集群进行了定义。每台服务器都用内部名称(比如web01和web02)、IP地址和独特的cookie串来表示。cookie串可以定义为你需要的任何名称。我使用了简单的node1、node2 。。。 node(n)。

  启动HAProxy

  你完成了配置工作后,可以启动HAProxy,验证一切按预期运行。

  在Centos/RHEL上启动HAProxy

  使用下列指令,让HAProxy能够在系统启动后启动,并打开它:

  # chkconfig haproxy on # service haproxy start

  当然,别忘了启用防火墙中的端口80,如下所示。

  CentOS/RHEL 7上的防火墙:

  # firewall­cmd ­­permanent ­­zone=public ­­add­port=80/tcp # firewall­cmd ­­reload

  CentOS/RHEL 6上的防火墙:

  把下面这一行添加到/etc/sysconfig/iptables中的这部分“:OUTPUT ACCEPT”:

  A INPUT ­m state ­­state NEW ­m tcp ­p tcp ­­dport 80 ­j ACCEPT

  然后重启iptables:

  # service iptables restart

  在Debian上启动HAProxy

  使用下列指令启动HAProxy:

  # service haproxy start

  别忘了启用防火墙中的端口80,为此把下面这一行添加到/etc/iptables.up.rules:

  A INPUT ­p tcp ­­dport 80 ­j ACCEPT

  在Ubuntu上启动HAProxy

  让HAProxy能够在系统启动后启动,只要在/etc/default/haproxy中将“ENABLED”选项设为“1”:

  ENABLED=1

  启动HAProxy:

  # service haproxy start

  然后启用防火墙中的端口80:

  # ufw allow 80

  测试HAProxy

  为了检查HAproxy是否在正常工作,我们可以执行下列步骤:

  首先,用下列内容准备好test.php文件:

  《?php header(‘Content-Type: text/plain’); echo “Server IP: ”。

  该PHP文件将告诉我们哪台服务器(即负载均衡系统)转发请求,哪台后端网站服务器实际处理请求。

  把该PHP文件放到这两台后端网站服务器的根目录下。现在,使用curl命令,从负载均衡系统(192.168.100.4)提取这个PHP文件。

  # chkconfig haproxy on # service haproxy start nbsp;curl https://192.168.100.4/test.php

  我们多次运行这个命令时,应该会看到下面两个输出交替出现(由于轮叫调度算法)。

  Server IP: 192.168.100.2

  X-Forwarded-for: 192.168.100.4

  Server IP: 192.168.100.3

  X-Forwarded-for: 192.168.100.4

  如果我们停止这两台后端网站服务器中的其中一台,curl命令应该仍会执行,将请求定向到另一台可用的网站服务器。

  结束语

  至此,你应该有了一套完全实用的负载均衡系统,能够在轮叫循环模式下为你的网站节点提供请求。与往常一样,你可以随意更改配置,让它更适合自己的基础设施。希望本教程帮助你让自己的网站项目具有更强的抗压力和更高的可用性。

  正如大家已经注意到的那样,本教程所含的设置适用于仅仅一套负载均衡系统。这意味着,我们把一个单一故障点换成了另一个单一故障点。在实际场景下,你应该部署至少两套或三套负载均衡系统,以防范可能出现的任何故障,但这不在本教程的讨论范围之内。

  上面就是Linux系统下配置HTTP负载均衡系统的方法介绍了,这里主要使用的是HAProxy,且只介绍了配置一套负载均衡系统的方法,赶紧试试看吧。

发表评论

0

没有更多评论了

评论就这些咯,让大家也知道你的独特见解

立即评论

以上留言仅代表用户个人观点,不代表万象系统之家立场

其他版本软件

热门教程

人气教程排行

Linux系统推荐

本站发布的系统仅为个人学习测试使用,请在下载后24小时内删除,不得用于任何商业用途,否则后果自负,请支持购买微软正版系统!

如侵犯到您的权益,请及时通知我们,我们会及时处理,对系统之家有任何投诉或建议,请与管理员联系. QQ:346231061

Copyright2024 万象系统之家(www.maxdo.tech) 版权所有 沪ICP备2021023961号-5