Haproxy配合Nginx搭建Web集群

Haproxy配合Nginx搭建Web集群部署实验(图文详解!) Haproxy配合Nginx搭建Web集群部署实验(图文详解!) 文章目录Haproxy配合Nginx搭建Web集群部署实验(图文详解!)一、常见的Web集群调度器二、Haproxy应用分析三、Haproxy调度算法原理四、Haproxy搭建 Web 群集1.脚本编译安装Nginx服务器(自带部署yum源)2.部署haproxy服务器1)关闭防火墙,将安装Haproxy所需软件包传到/opt目录下2)编译安装 Haproxy3)Haproxy服务器配置4)添加Haproxy系统服务3.测试 Web集群五、日 阅读详情

常见是web集群调度器

  • 目前常见的web集群调度器分为软件和硬件
  • 软件通常使用开源的LVS ,Haproxy,nginx
  • LVS性能最好,但是搭建相对复杂
  • Nginx的upstream模块支持集群功能,但是对集群节点健康检查功能不强,高并发没有Haproxy好
  • 硬件一般使用的比较多的是F5。也有很多人使用梭子鱼,绿盟等国内产品

Haproxy应用分析

  • LVS在企业应用重抗负载能力强,但存在不足
  • LVS不支持正则处理,不能实现动静分离
  • 对于大型网站,LVS的实施配置复杂,维护成功相对较高
  • Haproxy是一款可提供高可用性。负载均衡,集基于TCP和HTTP应用的代理的软件
  • 适用于负载大的web站点
  • 运行在硬件上可支持数万计的并发连接请求

Haproxy调度算法原理

Haproxy支持多种调度算法,最常见的有三种

  • RR(Round Robin)RR算法是最简单常用的一种算法,即轮询调度
  • LC(Least Connections)最小连接数算法,根据后端的节点连接数大小动态分配前端请求。
  • SH(Source Hashing)基于来源访问调度算法,用于一些有Session会话记录在服务器端的场景,可以基于来源的IP、Cookie等做集群调度

Haproxy搭建web群集

实验所需安装包

haproxy-1.5.19.tar.gz
nginx-1.12.0.tar.gz

环境配置

主机操作系统IP地址所需软件/安装包/工具
Haproxy-ServerCentOS7192.168.50.12haproxy-1.5.19.tar.gz
Nginx-Server1CentOS7192.168.50.20nginx-1.12.0.tar.gz
Nginx-Server2CentOS7192.168.50.22nginx-1.12.0.tar.gz
客户端Win10––

1编译安装Nginx服务器

Nginx-Server1:192.168.50.20
Nginx-Server2:192.168.50.22

#!/bin/bash
#编译安装nginx服务,使用本脚本前请将相应的安装包放入/opt目录下
#安装所需开发包和编译环境、编译器
yum -y install pcre-devel zlib-devel gcc gcc-c++ make
#创建程序用户,便于准确控制访问
useradd -M -s /sbin/nologin nginx

#解压安装包
cd /opt
tar zxvf nginx-1.12.0.tar.gz -C /opt/

#指定安装路径、指定用户名和组名
cd nginx-1.12.0/
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx

#编译及安装
make && make install

#软链接便于系统识别nginx操作命令
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

#添加nginx系统服务
echo '[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecrReload=/bin/kill -s HUP $MAINPID
ExecrStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target' > /lib/systemd/system/nginx.service

#赋权及开启服务、开启开机自启
chmod 754 /lib/systemd/system/nginx.service
systemctl start nginx.service
systemctl enable nginx.service

Nginx-Server1:192.168.50.20

echo "this is 192.168.50.20 web" > /usr/local/nginx/html/test.html

在这里插入图片描述
nginx-Server2:192.168.50.22

echo "this is 192.168.50.22 web" > /usr/local/nginx/html/test.html


在这里插入图片描述

部署Haproxy服务器

Haproxy-Server:192.168.50.60
关闭防火墙,将安装Haproxy所需软件包传到/opt目录下

systemctl stop firewalld
setenforce 0

cd /opt
haproxy-1.5.19.tar.gz

在这里插入图片描述
编译安装Haproxy

yum install -y pcre-devel bzip2-devel gcc gcc-c++ make

tar zxvf haproxy-1.5.19.tar.gz
cd haproxy-1.5.19/
make TARGET=linux2628 ARCH=x86_64
make install

参数说明
#使用uname -r查看内核,如:2.6.18-371.el5,此时该参数用TARGET=linux26;kernel大于2.6.28的用TARGET=linux2628
TARGET=linux26	#内核版本
ARCH=x86_64 	#系统位数,64位系统

在这里插入图片描述
Haproxy服务器配置

mkdir /etc/haproxy
cp examples/haproxy.cfg /etc/haproxy/

cd /etc/haproxy/
vim haproxy.cfg
global
  #4~5行–修改,配置日志记录,local0为日志设备,默认存放到系统日志3
  log /dev/log   local0 info		
  log /dev/log   local0 notice
  #log loghost    local0 info
  maxconn 4096   #最大连接数,需考虑ulimit-n限制
  
  #8行–注释,chroot运行路径,为该服务自设置的根目录,一般需将此行注释掉
  #chroot /usr/share/haproxy
  uid 99    #用户UID
  gid 99    #用户GID
  daemon    #守护进程模式

defaults        
  log     global      #定义日志为global配置中的日志定义
  mode    http	      #模式为http
  option  httplog     #采用http日志格式记录日志
  option  dontlognull #不记录健康检查日志信息
  retries 3           #检查节点服务器失败次数,连续达到三次失败,则认为节点不可用
  redispatch				    #当服务器负载很高时,自动结束当前队列处理比较久的连接
  maxconn 2000					#最大连接数
  contimeout      5000			#连接超时时间
  clitimeout      50000			#客户端超时时间
  srvtimeout      50000			#服务器超时时间

#删除下面所有listen项–,添加
listen  webcluster 0.0.0.0:80		
    option httpchk GET /test.html	#检查服务器的test.html文件
    balance roundrobin				#负载均衡调度算法使用轮询算法roundrobin
    server inst1 192.168.50.20:80 check inter 2000 fall 3		#定义在线节点
    server inst2 192.168.50.22:80 check inter 2000 fall 3

#--参数说明----------------
balance roundrobin   #负载均衡调度算法
#轮询算法: roundrobin;最小连接数算法: leastconn;来源访问调度算法: source,类似于nginx的ip_hash

check inter 2000 #表示haproxy服务器和节点之间的一个心跳频率
fall 3   #表示连续三次检测不到心跳频率则认为该节点失效
若节点配置后带有""backup"表示该节点只是个备份节点,只有主节点失效该节点才会上。不携带"backup",表示为主节点,和其它主节点共同提供服务。

在这里插入图片描述
在这里插入图片描述
添加Haproxy系统服务
(如果你先做Haproxy服务器,这步需要等到Nginx服务器搭建好再去做,不然会启动失败)

cp /opt/haproxy-1.5.19/examples/haproxy.init /etc/init.d/haproxy
cd /etc/init.d/
ll
chmod +x haproxy
chkconfig --add /etc/init.d/haproxy
ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy
service haproxy start

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

测试 Web集群

在客户端使用浏览器打开 http://192.168.50.60/test.html ,不断刷新浏览器测试负载均衡效果

在这里插入图片描述

日志定义

默认haproxy的日志是输出到系统的syslog中,查看起来不是非常方便,为了更好的管理haproxy的日志,我们在生产环境中一般单独定义出来。需要将haproxy的info及notice日志分别记录到不同的日志文件中。

vim /etc/haproxy/haproxy.cfg
global
	log /dev/log local0 info
	log /dev/log local0 notice

service haproxy restart

在这里插入图片描述
在这里插入图片描述
需要修改rsyslog配置,为了便于管理。将haproxy相关的配置独立定义到haproxy.conf,并放到/etc/rsyslog.d/下,rsyslog启动时会自动加载此目录下的所有配置文件。

vim /etc/rsyslog.d/haproxy.conf

if ($programname == 'haproxy' and $syslogseverity-text == 'info')
then -/var/log/haproxy/haproxy-info.log
&~
if ($programname == 'haproxy' and $syslogseverity-text == 'notice')
then -/var/log/haproxy/haproxy-notice.log
&~
说明:
这部分配置是将haproxy的info日志记录到/var/log/haproxy/haproxy-info.log下,将notice日志记录到/var/log/haproxy/haproxy-notice.log下。“&~”表示当日志写入到日志文件后,rsyslog停止处理这个信息。

systemctl restart rsyslog.service

tail -f /var/log/haproxy/haproxy-info.log		#查看haproxy的访问请求日志信息

Haproxy参数优化

随着企业网站负载增加haproxy参数优化相当重要
maxconn:最大连接数,根据应用实际情况进行调整,推荐使用10 240
daemon:守护进程模式,Haproxy可以使用非守护进程模式启动,建议使用守护进程模式启动
nbproc:负载均衡的并发进程数,建议与当前服务器CPU核数相等或为其2倍
retries:重试次数,主要用于对集群节点的检查,如果节点多,且并发量大,设置为2次或3次
option http-server-close:主动关闭http请求选项,建议在生产环境中使用此选项
timeout http-keep-alive:长连接超时时间,设置长连接超时时间,可以设置为10s
timeout http-request: http请求超时时间,建议将此时间设置为5~10s,增加http连接释放速度
timeout client:客户端超时时间,如果访问量过大,节点响应慢,可以将此时间设置短一些,建议设置为1min左右就可以了

nginx集群搭建 关于nginx集群搭建的详细文档 立即下载

相关推荐

Linux搭建Nginx集群步骤+详细配置

Linux Centos7中搭建Nginx负载均衡,里面包含了详细文档(ps:有详细的操作步骤哟),还有相关的安装包以及测试包

Nginx(7)Nginx实现服务器端集群搭建

nginx动态资源静态资源部署,搭建tomcat集群,Keepalived解决高可用问题,制作下载站点

weixin_43994244的博客 3769

【深度剖析】三一重工的数字化转型(中篇)

三一重工在数字化转型方面取得了提高效率、降低成本、加强研发创新和改善内控管理等多方面的成效。本研究旨在通过对三一重工数字化转型的深入分析,引导企业思考在第四次工业革命与第三次能源革命交汇的超级技术窗口期,如何进一步把握发展机遇,并为同行业其他企业提供探索性的建议。作为装备制造行业的佼佼者,三一重工的数字化转型受到了业界的广泛关注。作为行业内首批接触并实践数字化转型的企业之一,三一重工的转型经验不仅成功,而且积累了丰富的理论与实践,为其他制造业企业的数字化转型提供了可借鉴的范例。

领信卓越的博客 2306

Haproxy+Nginx搭建Web集群部署

HAProxy 是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。LVS基于Linux操作系统实现软负载均衡,而Haproxy和Nginx是基于第三方应用实现的软负载均衡LVS是可实现4层的IP负载均衡技术,无法实现基于目录、URL的转发。而实现Haproxy和Nginx都可以实现4层和7层技术,Haproxy可提供TCP和Http应用的负载均衡综合解决方案。...

settng style 1845

【教程】安装 iterm2 打造漂亮且高性能的 mac 终端

最近电脑重新安装系统,开发环境和软件都需要重新安装和配置,其中终端工具是必不可少的,正好利用这个机会,介绍一下 macOS 终端神器 iTerm2 的安装和配置,并推荐几款好用的插件和工具。在IT领域中,工具的选择和使用对于开发者和运维人员来说至关重要。而在众多终端模拟器中,ITerm2无疑是一个出色的选择,希望本篇的文章能对你有些帮助,感兴趣的朋友可以登录官网查看官方文档。我是刘大大,持续分享AI相关领域的知识和工具,喜欢点点关注。

刘大大AI的博客 3399

HFSS仿真的后处理结果,如何根据天线表面的电流密度分布对天线进行优化?

在HFSS仿真中,天线表面的Jsurf​是最直观、最有价值的诊断工具之一。它不仅告诉你天线“能不能工作”,还能告诉你“为什么工作”以及“哪里出了问题”。

degogmy的博客 1158

Nginx&Web负载均衡集群搭建

核心竞争力,怎么才能提高呢?成年人想要改变生活,逆转状态?那就开始学习吧~万事开头难,但是程序员这一条路坚持几年后发展空间还是非常大的,一切重在坚持。为了帮助大家更好更高效的准备面试,特别整理了《前端工程师面试手册》电子稿文件。

2301_79849953的博客 483

cvtColor +内存泄漏

题目不知道怎么取,因为cvtColor并没有产生内存泄漏,但是我由于没有正确使用cvtColor而出现了内存泄漏的问题,所以暂且以cvtColor+内存泄漏为题 1.应用背景 项目中用到cvtColor的地方是需要将灰度图转为3通道的彩色图(实际上转换后仍然为灰色的,但是电脑认为的是3通道的彩色图了) 因此需要用到以下语句 cvtColor(src_img, cvMtxRGB, C

smilebluesky的专栏 6058

搭建动态Web集群应用、构建高可用集群,配置nginx实现https负载均衡,NFS部署、LAMP服务部署(保姆级教程),建议收藏

扩容当前的单机Web应用,构建应用集群,用户访问前端Nginx负载均衡器,然后由负载均衡器发送请求到各Web应用上,实现高负载、高并发和高可用。本次部署Web集群架构,需要4台服务器,1、Nginx服务器,2、第一台Web服务器部署Apache与PHP服务,3、第二台Web服务器同样部署Apache与PHP服务,4、NFS服务器以提高Web程序文件的挂载服务,同时提供MariaDB数据库服务为两台Web服务器提供数据库服务。

SC_优快云_L的博客 2637

保姆级教程:彻底清理Win11更新缓存并解除外设,一次搞定0xc1900101更新错误

本文提供了一套完整的Win11更新报错0xc1900101解决方案,涵盖软件环境净化和硬件设备隔离。通过终止干扰进程、重置更新组件、清理临时文件以及断开外设等步骤,有效提升更新成功率。特别强调外设驱动兼容性对解决0xc1900101错误的关键作用。

weixin_33483304的博客 417

自动化测试与AI的结合应用

自动化测试,人工智能,机器学习,深度学习,测试用例生成,缺陷预测,测试优化 1. 背景介绍 在软件开发领域,自动化测试已成为不可或缺的一部分,它可以提高测试效率、降低测试成本,并确保软件质量。然而,传统的自动化测试方法往往依赖于人工编写的测试用例,这不仅耗时费力,而且难以应对复杂软件

AI架构师小马 2247

基于nginx的高可用web集群

nginx是十分轻量级的HTTP服务器。是一个高性能的HTTP和反向代理服务器,同时也是一个代理服务器。了解nginx的基本操作nginx一键安装脚本(去掉http模块)stream {#负载均衡器的定义web} #负载均衡器的定义dns# 使用的tcp} }四层负载均衡和七层负载均衡四层速度快,支持的服务数量多(http、dns、ftp、mysql等):虚拟路由冗余协议路由器故障转移的基础vip —virtual ip(对外提供服务的ip )...

m0_59371732的博客 1705

扫地机器人行业 企业篇-产业总部地理分布

中国扫地机器人产业呈现区域集聚特征,广东省以13家企业领跑全国,其中深圳独占9家(如大疆、云鲸智能等),佛山、广州、东莞各有分布。江苏省6家企业主要集中在苏州(科沃斯、追觅科技等)。北京聚集了石头科技、小米等4家品牌。浙江、山东、湖南等地也有代表性企业分布。国际品牌方面,美国iRobot、韩国三星/LG、日本松下等均在各自国家设立总部,而戴森、飞利浦等欧洲品牌则将中国运营中心设在上海或苏州。值得注意的是,部分品牌如由利、宝家丽虽为外资起源,但主要运营实体已落户中国。

智能硬件研发,欢迎交流 362

Haproxy配合Nginx搭建Web集群部署实验

Haproxy配合Nginx搭建Web集群部署实验一、HAProxy概述1、HAProxy的主要特性2、常见的Web集群调度器3、Haproxy应用分析4、Haproxy调度算法原理2、HAProxy负载均衡策略(8种)二、LVS、Nginx、HAproxy的区别三、LVS、Nginx、HAproxy的优缺点1、Nginx的优点:2、Nginx的缺点:3、LVS的优点:4、LVS的缺点:5、HAProxy的优点:四、Haproxy搭建 Web 群集环境准备1、haproxy 服务器部署(1)关闭防火墙,将安

王大雏的博客 908

FPGA原型验证(八):SoC设计适配与实现策略

时钟门控在SoC设计中很常见,应该小心处理门控时钟,以成功地在FPGA上原型化SoC设计。现代FPGA综合工具在正确约束的情况下,可以自动处理大多数门控时钟。通过遵循本章中的指导方针,即使具有复杂时钟门控的SoC设计也可以得到处理,并成功地在FPGA上进行原型化。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 477

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

高效多用的群集之Haproxy配合Nginx搭建Web集群

目录一、常见的Web集群调度器二、Haproxy应用分析三、Haproxy调度算法原理四、Haproxy搭建 Web 群集1、部署haproxy服务器2、编译安装Nginx服务器3、测试 Web集群五、日志定义 一、常见的Web集群调度器 目前常见的Web集群调度器分为软件和硬件 软件通常使用开源的LVS、Haproxy、Nginx LVS性能最好,但是搭建相对复杂;Nginx的upstream模块支持集群功能,但是对集群节点健康检查功能不强,高并发没有Haproxy好 硬件一般使用的比较多的是F5,也有很

ljj的学习笔记 1747

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Haproxy配合Nginx搭建Web集群部署

Haproxy配合Nginx搭建Web集群部署一、常见的Web集群调度器二、Haproxy应用分析三、HAProxy的主要特性四、HAProxy负载均衡策略非常多,常见的有如下8种五、LVS、Nginx、HAproxy的区别六、Haproxy调度算法原理七、Haproxy搭建 Web 群集1. 部署haproxy服务器 (192.168.118.12)2. 编译安装Nginx服务器(192.168.118.13、192.168.118.14)3. 添加haproxy 系统服务(192.168.118.12)

kele_baba 408

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Haproxy配合Nginx搭建Web集群实验

Haproxy一、常见的Web集群调度器二、Haproxy应用分析三、Haproxy调度算法原理四、Haproxy搭建 Web 群集 一、常见的Web集群调度器 1.目前常见的Web集群调度器分为软件和硬件 软件通常使用开源的LVS、Haproxy、Nginx 2.LVS性能最好,但是搭建相对复杂;Nginx的upstream模块支持集群功能,但是对集群节点健康检查功能不强,高并发没有Haproxy好 3.硬件一般使用的比较多的是F5,也有很多人使用梭子鱼、绿盟等国内产品 二、Haproxy应用分析 1.L

weixin_53567573的博客 370

Haproxy配合Nginx搭建web集群

Haproxy配合Nginx搭建web集群 一、常见的Web集群调度器 目前常见的Web集群调度器分为软件和硬件 软件通常使用开源的LVS、Haproxy、Nginx · LVS性能最好,但是搭建相对复杂; · Nginx的upstream模块支持集群功能,但是对集群节点健康检查功能不强,高并发没有Haproxy好 · 硬件一般使用的比较多的是F5,也有很多人使用梭子鱼、绿盟等国内产品 二、Haproxy应用分析 · LVS在企业应用中抗负载能力很强,但存在不足 · LVS不支持正则处理,不能实现动静分

m0_53432902的博客 114

Haproxy配合Nginx搭建web集群实验

Haproxy配合Nginx搭建web集群实验一、常见的Web集群调度器二、Haproxy应用分析三、Haproxy调度算法原理四、Haproxy搭建web集群1、配置环境2、部署Haproxy服务器①关闭防火墙,将安装的Haproxy所需软件包传到/opt目录下②编译安装Haproxy③Haproxy服务器配置④添加haproxy 系统服务3、配置Nginx服务器(两台一样的)4、进行测试 一、常见的Web集群调度器 目前常见的Web集群调度器分为软件和硬件 软件通常使用开源的LVS、Haproxy、N.

weixin_51615030的博客 342

群集之Haproxy配合Nginx搭建Web集群

文章目录一、Haproxy 前言二、Haproxy 简介1、常见的web集群调度器2、Haproxy应用分析3、Haproxy高性能负载均衡的主要优点:4、四层与七层负载的主要区别三、Haproxy调度算法原理四、LVS、Haproxy、nginx区别1、LVS和Haproxy应用分析2、nginx和LVS、Haproxy的区别五、实验:Haproxy搭建 Web 群集1、部署haproxy服务器(192.168.132.10)2、编译安装Nginx服务器(192.168.132.20、192.168.13

zhangyuebk的博客 267

Haproxy_配合nginx搭建web集群

Haproxy一.常见的Web集群调度器二.Haproxy应用分析三.Haproxy调度算法原理四.Haproxy高性能负载均衡主要优点1.Haproxy在负载均衡速度和并发处理上,优于Nginx2.Haproxy支持虚拟主机,可以工作在4、7层3.能够补充Nginx的一些缺点,比如session的保持、Cookie的引导等工作4.支持url检测后端的服务器状态5.Haproxy可以对Mysql进行负载均衡,对后端的DB节点进行检测和负载均衡6.支持很多负载均衡算法:轮询、加权轮询、原地址保持、请求url、

Wsxyi的博客 311
上一篇: LVS+Keepalived 高可用群集(DR模式)
下一篇: Nginx+Tomcat动静分离
LINGYUEMM
博客等级 码龄6年 11粉丝 85原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值