Haproxy负载均衡群集配置

软件包,Nginx和haproxy需要的自取

链接:https://pan.baidu.com/s/19oS_In0GvbqQzJU5VfPupw
提取码:f2ed
复制这段内容后打开百度网盘手机App,操作更方便哦

一、概述

  • Haproxy是一款可提供高可用性、负载均衡、及基于TCP和HTTP应用的代理软件
  • 适合于负载特别大的Web站点
  • 运行在当前的硬件上可支持数以万计的并发连接请求

二、实验目的

当高并发请求来临时,haproxy服务器能够调度后面的Web节点服务器以轮询的方式处理请求

三、实验拓扑

在这里插入图片描述

四、实验环境

在这里插入图片描述

五、实验配置

5.1、haproxy服务器配置

  • 上传haproxy源码文件到/opt目录下,编译安装haproxy
[root@haproxy ~]# yum install bzip2-devel pcre-devel gcc gcc-c++ make -y
[root@haproxy ~]# cd /opt
[root@haproxy opt]# ls
haproxy-1.5.19.tar.gz   rh     ###已经上传
[root@haproxy opt]# tar zxvf haproxy-1.5.19.tar.gz -C /opt  ##解压
[root@haproxy opt]# cd /opt/haproxy-1.5.19/
[root@haproxy haproxy-1.5.19]# uname -a     ###查看当前系统信息
Linux haproxy 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
[root@haproxy haproxy-1.5.19]# make TARGET=linux3100 ###执行编译
[root@haproxy haproxy-1.5.19]# make install  ##安装

  • 修改haproxy.cfg配置文件
[root@haproxy haproxy-1.5.19]# vi /opt/haproxy-1.5.19/examples/haproxy.cfg

在这里插入图片描述

  • listen字段全部删除,新插入以下字段

在这里插入图片描述

  • 编辑启动脚本
##将源码目录下的examples/haproxy.init复制到/etc/init.d/[root@haproxy ~]# cp /opt/haproxy-1.5.19/examples/haproxy.init  /etc/init.d/haproxy
###添加执行权限
[root@haproxy ~]# chmod +x /etc/init.d/haproxy
###添加service服务
[root@haproxy ~]# chkconfig --add /etc/init.d/haproxy 
[root@haproxy ~]# ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy
###关闭防火墙
[root@haproxy ~]# systemctl stop firewalld 
[root@haproxy ~]# setenforce 0
###启动服务
[root@haproxy ~]# service haproxy start
##查看服务端口
[root@haproxy ~]# netstat -antp|grep haproxy
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      7134/haproxy  

5.2、nginx服务器1配置

  • 安装环境依赖包
[root@nginx1 ~]# yum install -y \
pcre-devel \
gcc \
gcc-c++ \
make
  • 创建程序性用户

[root@nginx1 ~]# useradd -M -s /sbin/nologin nginx
  • 上传nginx源码包,解压到opt目录
[root@nginx1 ~]# tar zxvf /opt/nginx-1.12.2.tar.gz -C /opt
  • 编译安装
[root@nginx1 ~]# cd /opt/nginx-1.12.2/
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx
make && make install
  • 编辑web首页信息
[root@nginx1 ~]# cd /usr/local/nginx/html/
[root@nginx1 ~]# echo "this is 1111 web" >test.html
  • 创建软连接方便管理
[root@nginx1 ~]# ln -s /usr/local/nginx/sbin/nginx  /usr/local/sbin/
  • 关闭防火墙,启动服务
[root@nginx1 ~]# systemctl stop firewalld 
[root@nginx1 ~]# setenforce 0
[root@nginx1 ~]# nginx
[root@nginx1 ~]# netstat -ntap | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      15677/nginx: master 

5.3、nginx服务器2配置

  • nginx2配置与nginx1相同,只需在站点目录中插入不同内容加以区分即可
[root@nginx1 ~]# cd /usr/local/nginx/html/
[root@nginx1 ~]# echo "this is 2222 web" >test.html
  • 关闭防火墙,启动服务
[root@nginx2 ~]# systemctl stop firewalld 
[root@nginx2 ~]# setenforce 0
[root@nginx2 ~]# nginx
[root@nginx2 ~]# netstat -ntap | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      15677/nginx: master 

六、验证

  • 开启客户机192.168.100.40/24模拟请求,直接访问haproxy服务器(不断刷新web界面)。

在这里插入图片描述
在这里插入图片描述

  • 此时haproxy服务器会以轮询的方式调度后面的nginx服务器处理请求。
发布了59 篇原创文章 · 获赞 66 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_42953006/article/details/104499161