部署HAproxy + Nginx负载均衡集群

目录

一、常规Web集群调度器

HAproxy概念(主要特性)

HAproxy负载均衡八种策略

二、LVS、Nginx、HAproxy区别

Nginx服务

LVS服务

HAproxy服务

三、部署HAproxy + Nginx负载均衡集群

第一步 关闭防火墙和安全机制

第二步 安装依赖环境

第三步 导入相关服务包并解压

第四步 编译

第五步 编译安装

第六步 优化配置文件路径

第七步 修改配置文件

第八步 添加haproxy系统服务

第九步 启动服务

第十步 部署节点服务器

第十一步 创建服务程序用户

第十二步 安装依赖环境

第十三步 导入相关服务包并解压

第十四步 编译安装

第十五步 编译并安装

第十六步 部署第二台Web节点服务

第十七步 创建第一台Web网页执行文件

第十八步 创建第二台Web网页执行文件

第十九步 优化Web服务路径

第二十步 启动服务

第二十一步 修改Web节点服务器网页直接文件路径

第二十二步 用浏览器访问测试


一、常规Web集群调度器

软件通常使用开源的LVS、HAproxy、Nginx等

硬件设备就是物理服务器,上面至少有四个以上的网关,连接各个物理服务器的心跳线是同一网段

HAproxy概念(主要特性)

可靠性和稳定性非常好,可以与硬件级的F5负载均衡设备相媲美

最高可以同时维护40000-50000个并发连接,单位时间内处理的最大请求数为20000个,最大处理能力可达10Git/s

支持多达八种负载均衡算法,也支持会话保持

基于流量的健康评估机制,基于HTTP认证

基于命令行的管理接口,有日志分析器,可以对日志进行分析

有强大的ACL支持,用于访问控制(黑白名单)

支持虚拟主机的功能,从而实现Web负载均衡更加灵活

HAproxy负载均衡八种策略

① Roundrobin  #表示简单的轮询

② static-rr   #表示根据权重

③ leastconn   #表示最少连接者先处理

④ source   #表示根据请求源IP地址

⑤ uri   #表示根据请求的URI,做cdn需要使用

⑥ uri_param    #表示根据请求的URL参数“Balance url_param”

request an URL parameter name

⑦ hdr(name)   #表示根据HTTP请求头来锁定每一次HTTP请求

⑧ rdp-cookie(name)   #表示根据cookie(name)来锁定并hash每一次的TCP请求

二、LVS、Nginx、HAproxy区别

① LVS基于Linux操作系统内核实现软负载均衡,而HAproxy和Nginx是基于第三方应用实现的软负载均衡

② LVS是可实现4层的IP负载均衡技术,无法实现基于目录,URL的转发,而HAproxy和Nginx都可以实现4层和7层技术,HAproxy可以提供TCP和HTTP引用的负载均衡综合解决方案

③ LVS因为工作在ISO模型的第四层,其状态检测功能单一,而HAproxy在状态检测方面功能更丰富、强大、可支持端口、URL、脚本等多种状态检测方式

④ HAproxy功能强大,但整体性能低于4层模式的LVS负载均衡

⑤ Nginx主要用于Web服务器或者缓存服务器,Nginx的upstream模块虽然也支持集群功能,但对集群节点健康检查功能不强,性能没有HAproxy强

Nginx服务

① 支持正则表达式

② 不支持session直接保持、但能通过IP_hash来解决

③ 只支持基于端口的健康检查

④ 对网络稳定性要求不高

⑤ 反向代理能力强

LVS服务

① 只能基于四层端口转发

② 应用范围广

③ 仅在四层做分发作用,抗负载能力强

HAproxy服务

① 支持八种负载均衡策略

② 支持URL检测,支持session保持

③ 反作负载均衡软件使用,在高并发情况下性能优于Nginx

三、部署HAproxy + Nginx负载均衡集群

第一步 关闭防火墙和安全机制

命令:systemctl stop firewalld

setenforce 0

第二步 安装依赖环境

命令:yum -y install pcre-devel bzip2-devel gcc gcc-c++ make

部署HAproxy + Nginx负载均衡集群_第1张图片

第三步 导入相关服务包并解压

命令:tar xf [服务包名]

部署HAproxy + Nginx负载均衡集群_第2张图片

第四步 编译

命令:make TARGET=linux2628 ARCH=x86_64

部署HAproxy + Nginx负载均衡集群_第3张图片

第五步 编译安装

命令:make install

部署HAproxy + Nginx负载均衡集群_第4张图片

第六步 优化配置文件路径

命令:cp /opt/haproxy-1.5.19/examples/haproxy.cfg /etc/haproxy

部署HAproxy + Nginx负载均衡集群_第5张图片

第七步 修改配置文件

命令:vim /etc/haproxy

部署HAproxy + Nginx负载均衡集群_第6张图片

第八步 添加haproxy系统服务

命令:cp /opt/haproxy-1.5.19/examples/haproxy.init /etc/init.d/haproxy

chmod 777 /etc/init.d/haproxy

chkconfig --add /etc/init.d/haproxy

ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy

部署HAproxy + Nginx负载均衡集群_第7张图片

第九步 启动服务

命令:systemctl start haproxy

部署HAproxy + Nginx负载均衡集群_第8张图片

第十步 部署节点服务器

先关闭防火墙和安全机制

部署HAproxy + Nginx负载均衡集群_第9张图片

第十一步 创建服务程序用户

命令:useradd -M -s /sbin/nologin nginx

第十二步 安装依赖环境

命令:yum -y install pcre-devel zlib-devel gcc gcc-c++ make

部署HAproxy + Nginx负载均衡集群_第10张图片

第十三步 导入相关服务包并解压

命令:tar xf /opt/nginx-1.12.0.tar.gz

部署HAproxy + Nginx负载均衡集群_第11张图片

第十四步 编译安装

命令:./configure --prefix=/usr/local/nginx --user=nginx --group=nginx

部署HAproxy + Nginx负载均衡集群_第12张图片

第十五步 编译并安装

命令:make -j4 && make install

部署HAproxy + Nginx负载均衡集群_第13张图片

第十六步 部署第二台Web节点服务

部署HAproxy + Nginx负载均衡集群_第14张图片

第十七步 创建第一台Web网页执行文件

命令:echo "Web is liu" > /usr/local/nginx/html/text/html

第十八步 创建第二台Web网页执行文件

命令:echo "Web is fang" > /usr/local/nginx/html/text/html

第十九步 优化Web服务路径

命令:ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin

第二十步 启动服务

命令:nginx

第二十一步 修改Web节点服务器网页直接文件路径

命令:vim /usr/local/nginx/conf/nginx.conf

部署HAproxy + Nginx负载均衡集群_第15张图片

第二十二步 用浏览器访问测试

部署HAproxy + Nginx负载均衡集群_第16张图片

部署HAproxy + Nginx负载均衡集群_第17张图片

你可能感兴趣的:(nginx,负载均衡,运维)