11
2025
04
14:23:13

用HAproxy实现两个Nginx服务器的负载均衡

环境介绍(基于Ubuntu 18.04):

node1

192.168.8.105

Haproxy

node2

192.168.8.106

Nginx1

node3

192.168.8.107

Nginx2

1.安装haproxy2.4版本的软件包.命令如下:

apt-get -y install software-properties-common

add-apt-repository ppa:vbernat/haproxy-2.4

apt-get -y update

apt-get –y install haproxy=2.4.\*

2.打开/etc/haproxy/haproxy.cfg,添加如下内容:

listen webcluster #haproxy实例状态监控部分配置,定义一个名为webcluster的应用

        bind 192.168.8.105:80

        mode http

        log global #开启日志

        balance roundrobin #负载均衡调度算法使用基于权重轮询算法roundrobin

        server inst1 192.168.8.106:80 check inter 2000 fall 3 #定义在线节点

        server inst2 192.168.8.107:80 check inter 2000 fall 3

              #server的配置说明:

              a.check:做健康检查。需要配置端口才能做健康检查

               b.inter:健康状态检查间隔时间,默认2000ms

              c.fall:后端服务器几次失败即不可用,默认为3

3.分别在192.168.8.106和192.168.8.107安装nginx。这里使用源码安装nginx。操作命令如下:

apt-get -y install libpcre3 libpcre3-dev openssl libssl-dev gcc  #安装nginx的依赖包

从nginx.org下载nginx安装包,之后执行如下操作:

tar -xf nginx-1.22.1.tar.gz #解压

cd nginx-1.22.1

./configure #预编译

Make && make install #编译&安装

注意:Nginx预编译过程中出现找不到zlib的错误,需要安装zlib。安装过程如下:

wget  http://www.zlib.net/zlib-1.2.13.tar.gz

tar -xf zlib-1.2.13.tar.gz

cd zlib-1.2.13

./configure

Make && make install

这样Nginx的预编译就正常了。

4.将Nginx的测试页面分别作修改,便于区分

192.168.8.106:echo 'this is web1' > /usr/local/nginx/html/index.html

192.168.8.107:echo 'this is web2' > /usr/local/nginx/html/index.html

最后启动Nginx:/usr/local/nginx/sbin/nginx

192.168.8.105也启动Haproxy:systemctl restart haproxy

5.最后测试效果如下:

用HAproxy实现两个Nginx服务器的负载均衡_负载均衡

用HAproxy实现两个Nginx服务器的负载均衡_负载均衡_02




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://zblog.hqyman.cn/post/10433.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: