首页 > 其他分享 >Haproxy

Haproxy

时间:2023-04-01 11:55:32浏览次数:48  
标签:Haproxy haproxy USE src --- lua usr

Haproxy

负责均衡的作用

  • Web服务器的动态水平扩展--->对用户无感知
  • 增加业务并发访问及处理能力--->解决单服务器瓶颈问题
  • 节约公网IP地址--->降低IT支持成本
  • 隐藏内部服务器IP--->提高内部服务器安全性
  • 配置简单--->固定格式的配置文件
  • 功能丰富--->支持四层和七层,支持动态下线主机(传输层:四层。应用层:七层)
  • 性能较强--->并发数万甚至数十万

负载均衡类型

与lvs的区别

  • lvs是工作在内核级别的,看不到端口,而haproxy是工作的应用层级别的
  • 四层
  • LVS: Liunx Virtual Server
  • Nginx: 1.9之后
  • HaProxy: High Availability Proxy
  • 七层
  • HAProxy
  • Nginx

应用场景

  • 四层:Redis、Mysql、RabbitMQ、Memcache等
  • 七层:Nginx、Tomcat、Apache、PHP、图片、动静分离、API等

安装与部署

  • 内网IP地址划分
# 外部网络
172.16.0.0/16

# 内部网络
10.0.0.0/24

# 可用地址范围
10.0.0.1--10.0.0.254

yum安装

dnf install haproxy -y

rpm -ql haproxy

编译安装

解决lua环境

  • Lua官网:www.lua.org
  • Lua应用场景
  • 游戏开发
  • 独立应用开发
  • Web应用脚本
  • 扩展和数据库插件,如MySQL Proxy
  • 安全系统,如入侵检测系统
# 当前系统版本
lua -v

# 安装基础命令及编译依赖环境
yum install -y gcc readline-devel

wget https://www.lua.org/ftp/lua-5.3.6.tar.gz

tar xvf lua-5.3.6.tar.gz -C /usr/local/src

cd /usr/local/src/lua-5.3.5

make linux test

# 查看编译安装的版本
src/lua -v

编译安装HAProxy

# HAProxy 1.8及1.9版本编译参数:
make ARCH=x86_64 TARGET=linux2628 USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 USE_SYSTEMD=1 USE_CPU_AFFINITY=1 PREFIX=/usr/local/haproxy

# HAProxy 2.0以上版本编译参数:
yum install -y gcc openssl-devel pcre-devel systemd-devel

tar xvf haproxy-2.0.26.tar.gz

cd haproxy-2.0.26

# 查看安装方法
ll Makefile

cat README

cat INSTALL

# 编译
make -j 4 TARGET=linux-glibc USE_OPENSSL=1 USE_ZLIB=1 USE_LUA=1 USE_PCRE=1 USE_SYSTEMD=1 LUA_INC=/usr/local/src/lua-5.3.5/src LUA_LIB=/usr/local/src/lua-5.3.5/src

# 安装
make install PREFIX=/apps/haproxy

ln -s /apps/haproxy/sbin/haproxy /usr/sbin/

haproxy -v
  • HAProxy启动文件

cat /usr/lib/systemd/system/haproxy.service
[Unit]
Description=HAProxy Load Balancer
After=syslog.target network.target

[Service]
ExecStartPre=/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -c -q
ExecStart=/usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /var/lib/haproxy/haproxy.pid
ExecReload=/bin/kill -USR2 $MAINPID

[Install]
WantedBy=multi-user.target

mkdir /var/lib/haproxy/

mkdir /etc/haproxy/

# 配置man日志
vim /etc/man_db.conf
MANDATORY_MANPATH     /apps/haproxy/share/man/

# 更新man数据库
mandb

# 配置文件
vim /etc/haproxy/haproxy.cfg
global
  maxconn 100000
  chroot /apps/haproxy
  stats socket /var/lib/haproxy/haproxy.sock mode 600 level admin
  #uid 99
  #gid 99
  user haproxy
  group haproxy
  daemon
  # nbproc 4
  # cpu-map 1 0
  # cpu-map 2 1
  # cpu-map 3 2
  # cpu-map 4 3
  pidfile /var/lib/haproxy/haproxy.pid
  log 127.0.0.1 local2 info

defaults
  option http-keep-alive
  option forwardfor
  maxconn 100000
  mode http
  timeout connect 300000ms
  timeout client 300000ms
  timeout server 300000ms

listen stats
  mode http
  bind 0.0.0.0:9999
  stats enable
  log global
  stats uri    /haproxy-status
  stats auth   haadmin:123456

listen web_port
  bind 10.0.0.7:80
  mode http
  log global
  server web1 127.0.0.1:8080 check inter 3000 fall 2 rise 5


useradd -r -s /sbin/nologin -d /var/lib/haproxy haproxy

systemctl daemon-reload

systemctl enable --now haproxy

标签:Haproxy,haproxy,USE,src,---,lua,usr
From: https://www.cnblogs.com/wsxier/p/17278352.html

相关文章

  • 一文剖析:LVS/Nginx/HAProxy原理及应用场景
    负载均衡已经发展成为网络架构中的基础核心组件,消除了服务器单点故障,可以进行请求流量分流,提升冗余,保证服务器的稳定性。在开源的软件负载均衡中,应用最为广泛的有LVS、Nginx......
  • Haproxy集群
      一、Haproxy简介Haproxy 是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。1.1Haproxy应用分析LVS......
  • haproxy和keepalived
    haproxyglobalmaxconn2000ulimit-n16384log127.0.0.1local0errstatstimeout30sdefaultslogglobalmodehttpoptionhttplogtimeoutconnect5000ti......
  • RHEL 7配置HAProxy实现Web负载均衡
    本文将简单介绍使用HAProxy实现web负载均衡,主要内容包括基于权重的轮询、为HAProxy配置https、配置http重定向为https、配置HAProxy使用独立日志。一、测试环境HAProxy:......
  • haproxy2.7.4 docker
      发布:sudodockerrun-itd--restart=always--net=host--namehaproxy-v/opt/docker/haproxy/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:rohaproxy:2......
  • 搭建两台web服务器基于HAProxy实现负载均衡
    环境:DNS服务器:192.168.10.200仅主机模式internet服务器:192.168.10.123仅主机模式web1:10.0.0.100(安装apache2)NAT模式web2:10.0.0.18(安装httpd)NAT模式HAProxy服......
  • haproxy 2.x 请求头解决安全问题
    就在最近haproxy官方发布了一个通知关于安全漏洞的,包含了2.0以及最新版本的,对于使用了2.x版本的用户最好升级下临时解决方案frontendmyfrontendhttp-r......
  • 安装配置HAProxy
    HAProxy安装过程与日志输出配置先安装LUA$yum-yinstallzlibgccgcc-c++libgcczlib-develpcrepcre-developensslopenssl-devel$yuminstall-ylibnllibnl-......
  • Centos7系统-postgresql+etcd+patroni+haproxy+keepalived高可用集群部署
    一、概况1、概念pgsql高可用集群采用postgresql+etcd+patroni+haproxy+keepalived等软件实现,以postgresql做数据库,etcd存储集群状态,patroni与etcd结合实现数据库......
  • 53-HAProxy-常用高级功能及生产案例
    基于Cookie的会话保持cookievalue:为当前server指定cookie值,实现基于cookie的会话黏性注意:不支持tcpmode,使用httpmode-->属于七层协议案例:#配置选项cookiename[r......