首页 > 系统相关 >用HAproxy实现两个Nginx服务器的负载均衡

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

时间:2022-12-03 13:32:29浏览次数:65  
标签:HAproxy tar nginx zlib 192.168 Nginx install 服务器

环境介绍(基于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服务器的负载均衡_Nginx

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


标签:HAproxy,tar,nginx,zlib,192.168,Nginx,install,服务器
From: https://blog.51cto.com/u_15796303/5908527

相关文章

  • Nginx map 使用详解
    map指令介绍:map指令是由ngx_http_map_module模块提供的,默认情况下安装nginx都会安装该模块。map的主要作用是创建自定义变量,通过使用nginx的内置变量,去匹配某......
  • MySQL Linux服务器快照克隆引起的binlog日志无法正常删除导致文件系统满
       最近,一个mysql数据库Linux服务器文件系统空间满,查看是binlog消耗绝大部分空间;经了解mysql数据库每天进行全备并删除1天前binlog日志;然而,2022.11.15日开始的binlog......
  • 服务器软件如何维护
    1、数据库服务数据库中的数据是最重要的,因此需要定期来备份数据库,以防万一。2、操作系统的维护操作系统是服务器运行的软件基础。3、用户数据维护服......
  • 使用ipsec隧道保护aliyun服务器
    使用ipsec隧道,可以避免远程桌面、数据库服务器等应用直接暴露在公网,防止暴力破解。ipsec隧道需要同时在Windows服务器与管理员客户端配置都是运行secpol.msc进入配置,在......
  • IDEA使用 Alibaba Cloud Toolkit 插件 自动打包部署maven项目至服务器
    1.首先安装插件AlibabaCloudToolkit安装成后,会提示重启IDEA。我这里已经显示安装过插件了。2.打开插件工具Tool>>AlibabaCloud>>DeploytoHost配置远程服务器......
  • centos服务器设置代理上网的方法
    这里以centos7.0为例,记录代理服务器设置过程:1.全局的代理设置:vi/etc/profile添加下面内容http_proxy=http://username:password@yourproxy:8080/ftp_proxy=http:......
  • SignalR 循序渐进(五)多个Hub服务器下的消息订阅
    SignalR的通讯方式决定了其高性能,但是即便如此,当消息的并发量上来以后,单节点的Hub服务器依然可能无法承载总的消息吞吐量,那么如何对Hub服务器做水平扩展呢?从微软官方的文......
  • 记一次nginx配Https踏过的坑-单域名证书只能配置一个域名
    域名申请下来之后是可以访问了,但是如果需要用到小程序上面的话,还是需要支持https调用的。但是想着这还不难嘛。直接上ssl证书就好了。那么问题就来了,白嫖一时爽。。。。。。......
  • nginx反向代理websocket,ws转wss
    记录一下nginx规则location^~/echargenet-admin#本地代理目录{proxy_passhttp://127.0.0.1:8080/xxx;#websocket地址proxy_set_headerHost$host;#......
  • 阿里云的堡垒机无法使用秘钥登录Ubuntu服务器
    服务器是阿里云上的Ubuntu22.04堡垒机是用的阿里云提供的秘钥对也是阿里云生成的但是,堡垒机始终无法用秘钥登录该服务器,只能使用密码登录查看日志/var/log/auth.log,有如下......