使用HAproxy搭建web群集原来这么简单(宇宙真的好谦虚啊,明明拥有一切,却叫太空)(二)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 使用HAproxy搭建web群集原来这么简单(宇宙真的好谦虚啊,明明拥有一切,却叫太空)(二)

七、部署负载均衡web群集


主机

操作系统

IP地址

haproxy服务器 centos7

192.168.109.131

nginx服务器1

centos7

192.168.109.134

nginx服务器2

centos7

192.168.109.135

客户端

Windows7

192.168.109.200

关闭所有机子防火墙,将包传入haproxy服务器/opt下

systemctl stop firewalld
systemctl disable firewalld
setenforce 0
haproxy-1.5.19.tar.gz
#所需软件包
链接:https://pan.baidu.com/s/1TMPMVWCrvsyh6p6zAn1AGA
提取码:hde6

7.1 nginx节点服务器(两台相同)

#yum安装 nginx
vim /etc/yum.repos.d/nginx.repo
    [nginx-stable]
    name=nginx stable repo
    baseurl=http://nginx.org/packages/centos/7/$basearch/
    gpgcheck=0
    enabled=1
yum install nginx -y 
systemctl start nginx
systemctl enable nginx
#写入不同的网页内容以便测试的时候区分服务器
#服务器1
[root@localhost ~]# cd /usr/share/nginx/html/
[root@localhost html]# ls
50x.html  index.html
[root@localhost html]# echo "<h1>nginx test1</h1>" >index.html 
#服务器2
[root@localhost ~]# cd /usr/share/nginx/html/
[root@localhost html]# ls
50x.html  index.html
[root@localhost html]# echo "<h1>nginx test2</h1>" >index.html




7.2 haproxy服务器配置

[root@localhost haproxy-1.5.19]# ls
CHANGELOG     doc       haproxy                  LICENSE   ROADMAP  tests
contrib       ebtree    haproxy-systemd-wrapper  Makefile  src      VERDATE
CONTRIBUTING  examples  include                  README    SUBVERS  VERSION
[root@localhost haproxy-1.5.19]# cd examples/
[root@localhost examples]# mkdir /etc/haproxy
[root@localhost examples]# cp haproxy.cfg /etc/haproxy/
[root@localhost examples]# cd /etc/haproxy/
[root@localhost haproxy]# ls
haproxy.cfg
[root@localhost haproxy]# vim haproxy.cfg 
#修改后的文件
# this config needs haproxy-1.1.28 or haproxy-1.2.1
global
        log /dev/log   local0 info
        log /dev/log   local0 notice
        #log loghost    local0 info
        maxconn 4096
        #chroot /usr/share/haproxy
        uid 99
        gid 99
        daemon
        nbproc 1
        #debug
        #quiet
defaults
        log     global
        mode    http
        option  httplog
        option  dontlognull
        retries 3
        redispatch
        maxconn 2000
        #contimeout     5000
        #clitimeout     50000
        #srvtimeout     50000
        timeout http-request 10s
        timeout queue 1m
        timeout connect 10s
        timeout client 1m
        timeout server 1m
        timeout http-keep-alive 10s
        timeout check 10s
listen  nginx_cluster  0.0.0.0:80
        option httpchk GET /index.html
        balance roundrobin
        server  inst1 192.168.109.134:80 check inter 2000  fall 3
        server  inst2 192.168.109.135:80 check inter 2000  fall 3



7.3 添加haproxy系统服务

#将haproxy.init 启动文件拷贝到/etc/init.d中并改名
[root@localhost haproxy]# cd /opt/haproxy-1.5.19/examples/
[root@localhost examples]# cp haproxy.init /etc/init.d/haproxy
#添加执行权限
[root@localhost examples]# cd /etc/init.d/
[root@localhost init.d]# ls
functions  haproxy  netconsole  network  README
[root@localhost init.d]# chmod +x haproxy
#添加到chkconfig中管理
[root@localhost init.d]# chkconfig --add /etc/init.d/haproxy 
cd
#优化路径
[root@localhost init.d]# ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy
#开启服务
[root@localhost init.d]# service haproxy start


7.4 客户端测试



八、Haproxy集群日志定义


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

vim /etc/haproxy/haproxy.cfg   #修改配置文件
global
        log /dev/log    local0 info
        log /dev/log    local0 notice
service haproxy start


需要修改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的使用还是比较简单的,比lvs的配置简单很多

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
负载均衡 网络协议 应用服务中间件
Haproxy搭建Web群集
Haproxy搭建Web群集
114 0
|
2月前
|
监控 Apache
HAProxy的高级配置选项-Web服务器状态监测
这篇文章介绍了HAProxy的高级配置选项,特别是如何进行Web服务器状态监测,包括基于四层传输端口监测、基于指定URI监测和基于指定URI的request请求头部内容监测三种方式,并通过实战案例展示了配置过程和效果。
91 8
HAProxy的高级配置选项-Web服务器状态监测
|
2月前
|
负载均衡 网络协议 应用服务中间件
web群集--rocky9.2源码部署nginx1.24的详细过程
Nginx 是一款由 Igor Sysoev 开发的开源高性能 HTTP 服务器和反向代理服务器,自 2004 年发布以来,以其高效、稳定和灵活的特点迅速成为许多网站和应用的首选。本文详细介绍了 Nginx 的核心概念、工作原理及常见使用场景,涵盖高并发处理、反向代理、负载均衡、低内存占用等特点,并提供了安装配置教程,适合开发者参考学习。
|
6月前
|
负载均衡 算法 前端开发
Haproxy搭建Web群集
这只是一个基本的HAProxy配置示例,你可以根据需要进行更高级的配置,包括SSL终端、健康检查、ACL(Access Control List)等。确保HAProxy的配置文件中的语法正确,以避免错误。在生产环境中,还应该考虑安全性和高可用性等因素。
63 7
|
负载均衡 监控 算法
百度搜索:蓝易云【HAProxy搭建web集群教程。】
这是一个简单的HAProxy搭建Web集群的教程。在实际应用中,还可以进行更多的配置和优化,以满足你的需求。建议在搭建之前查阅官方文档或参考其他详细的教程以获取更全面的指导。
117 3
百度搜索:蓝易云【HAProxy搭建web集群教程。】
|
应用服务中间件 Apache 开发工具
|
1月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
113 3
|
23天前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
124 45
|
4天前
|
开发框架 JavaScript 前端开发
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势。通过明确的类型定义,TypeScript 能够在编码阶段发现潜在错误,提高代码质量;支持组件的清晰定义与复用,增强代码的可维护性;与 React、Vue 等框架结合,提供更佳的开发体验;适用于大型项目,优化代码结构和性能。随着 Web 技术的发展,TypeScript 的应用前景广阔,将继续引领 Web 开发的新趋势。
18 2
|
18天前
|
前端开发 API 开发者
Python Web开发者必看!AJAX、Fetch API实战技巧,让前后端交互如丝般顺滑!
在Web开发中,前后端的高效交互是提升用户体验的关键。本文通过一个基于Flask框架的博客系统实战案例,详细介绍了如何使用AJAX和Fetch API实现不刷新页面查看评论的功能。从后端路由设置到前端请求处理,全面展示了这两种技术的应用技巧,帮助Python Web开发者提升项目质量和开发效率。
33 1
下一篇
无影云桌面