1. 安装

Use docker、package or source installations to install

第三方仓库 https://pkgs.org/download/haproxy

1.1 use docker

docker run -it --rm haproxy:2.2 haproxy -c -f /usr/local/etc/haproxy/haproxy.cfg
docker run -d --name my-running-haproxy -v /apps/etc/haproxy:/usr/local/etc/haproxy:ro --sysctl net.ipv4.ip_unprivileged_port_start=0 haproxy:2.2
docker run -d --name my-running-haproxy -v /apps/etc/haproxy:/usr/local/etc/haproxy:ro haproxy:2.2
# Reloading config
docker kill -s HUP my-running-haproxy

1.2 use apt


# apt-get install --no-install-recommends software-properties-common
# add-apt-repository ppa:vbernat/haproxy-2.2
# apt update && apt-cache madison haproxy # apt-get install haproxy=2.2.\*
# haproxy -v
# haproxy -vv

1.3 source installations

dnf -y install systemd-devel
wget https://www.haproxy.org/download/2.2/src/haproxy-2.2.13.tar.gz
tar xf haproxy-2.2.13.tar.gz -C /usr/local/src
cd /usr/local/src/haproxy-2.2.13/
# less INSTALL
make ARCH=x86_64 TARGET=linux-glibc USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 USE_SYSTEMD=1 USE_LUA=1 LUA_INC=/usr/local/src/lua-5.4.3/src/ LUA_LIB=/usr/local/src/lua-5.4.3/src/
make install PREFIX=/apps/haproxy
ln -s /usr/local/src/haproxy-2.2.13/haproxy /usr/sbin/
# haproxy -v
# haproxy -vv

PS: 升级lua到5.4.3

yum install gcc readline-devel systemd-devel
# apt install gcc iproute2 ntpdate tcpdump telnet traceroute nfs-kernel-server nfs-common lrzsz tree openssl libssl-dev libpcre3 libpcre3-dev zlib1g-dev openssh-server libreadline-dev libsystemd-dev
# apt install lua5.3=5.3.3 curl -R -O http://www.lua.org/ftp/lua-5.4.3.tar.gz
tar zxf lua-5.4.3.tar.gz -C /usr/local/src
cd lua-5.4.3/
make all test

2. 基本服务配置

http://cbonte.github.io/haproxy-dconv/2.2/configuration.html

2.1 使用systemctl配置管理

0 root@centos7:~# cat /usr/lib/systemd/system/haproxy.service
[Unit]
Description=HAProxy Load Balancer
After=syslog.target network.target [Service]
ExecStart=/usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /var/lib/haproxy/haproxy.pid
ExecReload=/bin/kill -USR2 $MAINPID
KillMode=mixed [Install]
WantedBy=multi-user.target # systemctl daemon-reload
# systemctl start haproxy

2.2 haproxy.cfg

#---------------------------------------------------------------------
# Global settings HA-Proxy version 2.2.13-5f3eb59 2021/04/02 - https://haproxy.org/
#---------------------------------------------------------------------
global
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000
user haproxy
group haproxy
daemon
# turn on stats unix socket
stats socket /var/lib/haproxy/stats defaults
mode http
log global
option httplog
option dontlognull
option http-server-close
option forwardfor except 127.0.0.0/8
option redispatch
retries 3
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 3000 listen status_page
bind 172.16.0.100:8888
stats enable
stats uri /status
stats auth admin:123465
stats auth user:123465
stats realm "Welcome to the haproxy load balancer status page"
stats hide-version
#stats admin if TRUE
stats refresh 5s listen front-end
bind 192.168.1.100:80
mode tcp
balance roundrobin
server 172.16.0.1 172.16.0.1:2000 check inter 2s fall 3 rise 5
server 172.16.0.2 172.16.0.1:2000 check inter 2s fall 3 rise 5
server 172.16.0.3 172.16.0.1:2000 check inter 2s fall 3 rise 5
#---------------------------------------------------------------------
# main frontend which proxys to the backends
#---------------------------------------------------------------------
frontend main
bind :80
acl url_static path_beg -i /static /images /javascript /stylesheets
acl url_static path_end -i .jpg .gif .png .css .js use_backend static if url_static
default_backend app #---------------------------------------------------------------------
# static backend for serving up images, stylesheets and such
#---------------------------------------------------------------------
backend static
balance roundrobin
server static 127.0.0.1:2000 check #---------------------------------------------------------------------
# round robin balancing between the various backends
#---------------------------------------------------------------------
backend app
balance roundrobin
server app1 127.0.0.1:2000 check
server app2 127.0.0.1:2001 check
server app3 127.0.0.1:2002 check
server app4 127.0.0.1:5004 check
# /etc/haproxy# haproxy -v
HA-Proxy version 2.2.13-5f3eb59 2021/04/02 - https://haproxy.org/
Status: long-term supported branch - will stop receiving fixes around Q2 2025.
Known bugs: http://www.haproxy.org/bugs/bugs-2.2.13.html
Running on: Linux 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 # 内核参数调整
echo 'net.ipv4.ip_nonlocal_bind = 1'>> /etc/sysctl.conf # y允许绑定不存在的vip
ehco 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf # 打开内核的转发功能

- PS:

Haproxy-1.8.20 编译安装

如何在Ubuntu系统中编译安装HAProxy

https://blog.csdn.net/zerocdn/article/details/110191570

haproxy env 安装与基础配置的更多相关文章

  1. SVN CentOS7 下配置svn的安装及基础配置介绍

    CentOS7 下配置svn的安装及基础配置介绍 by:授客 QQ:1033553122 目录 一. 二. 三. 四. 五. 六. 七. 一.      实践环境 CentOS 7操作系统(CentO ...

  2. CI下载与安装_基础配置_MVC

    CI:CodeIgniter -- 由Ellislab公司的CEORickEllis开发,是一个简单快速的PHP MVC框架. =============下载和安装================地址 ...

  3. nginx安装及基础配置(含jdk安装及配置)

    0.jdk安装配置 #下载相应的jdk软件包,然后解压安装,我这里包名称为:jdk-7u25-linux-x64.tar.gz tar -xzf jdk-7u25-linux-x64.tar.gz m ...

  4. mySQL安装与基础配置

    关系型数据库介绍 数据结构模型 数据结构模型主要有: 层次模型 网状结构 关系模型 关系模型: 二维关系:row,column 数据库管理系统:DBMS 关系:Relational,RDBMS RDB ...

  5. CentOS 7 安装、配置、使用 PostgreSQL 10 安装及基础配置

    官网安装方法:https://www.postgresql.org/download/linux/redhat/ 卸载的话使用 yum remove 相应的安装 Install the reposit ...

  6. wamp安装和基础配置

    一 下载地址 二 安装 三 修改默认网站目录 四 修改数据库密码 一 下载地址 wamp百度软件中心 wamp官方下载地址 二 安装 windows环境下wampserver的配置教程——超级详细 w ...

  7. CentOS 7 安装、配置、使用 PostgreSQL 9.5(一)安装及基础配置

    一直不知道怎么读这个数据库的名字,在官网上找到了文档.PostgreSQL is pronounced Post-Gres-Q-L. 读音 What is PostgreSQL? How is it ...

  8. Ubuntu 18.04 下 PostgreSQL 10 的安装与基础配置

    下载安装 在命令行执行如下语句: apt-get install postgresql-10 该指令会帮助你下载如下PostgreSQL组件: name |explain | ------------ ...

  9. maven安装与基础配置

    下载,安装 下载地址 https://maven.apache.org/ 解压安装包到安装路径 tar -zxvf apache-maven-3.8.1-bin.tar.gz -C /opt/ 配置P ...

随机推荐

  1. CountDownLatch与CyclicBarrier的基本使用

    1 概述 CountDownLatch以及CyclicBarrier都是Java里面的同步工具之一,本文介绍了两者的基本原理以及基本使用方法. 2 CountDownLatch CountDownLa ...

  2. day15.继承

    1.什么是继承     继承是一种新建子类的方式,新建的类称之为子类/派生类,被继承的称之为父类/基类       子类会遗传父类的属性   2.为何要用继承     类是解决对象之间冗余问题的    ...

  3. KMP算法:next和nextval值计算

    KMP算法的next和nextval值计算 先看看next数据值的求解方法 例:下标从1开始(若题中给定下标为0开始,把所有值-1即可) next数组的求解方法:根据前一个字符next,一直循环找到第 ...

  4. Java封装接口统一返回数据模板

    现在大多数都使用前后端分离开发模式,前端通过Ajax请求访问后台服务器,后台返回JSON数据供前端操作,这里编写一个统一返回数据模板类,方便日后操作 public class R extends Ha ...

  5. 从零开始使用git将本地项目上传到GitHub

    直接进入主题 1. 注册GitHub(官网:https://github.com/),打开官网,右上角点击sign up注册按钮,进入注册界面,根据提示填写信息注册. ​

  6. 1. APP移动端性能测试基础知识入门

    本博客要点 生命周期 堆和栈 垃圾回收 adb命令 Activity的生命周期

  7. 用vue-cli3搭建vue项目

    1.在nodejs官网下载node安装包,并进行安装:http://nodejs.cn/download/,在环境变量进行配置,并添加node_global和node_cache路径. 2.在D盘新建 ...

  8. 【网络协议】 RPC vs Http

  9. Windows XP sp3 系统安装 Windbg 符号文件 Symbols 时微软失去支持的解决方案

    0x01 前言 Windbg 是微软的正宗调试器,在正常的情况下调试一些程序并没有什么问题,但是如果需要调试分析程序的堆栈,或者是一些特殊的功能时则需要微软的符号文件的支持,所以符号文件是非常重要的, ...

  10. nodejs-REPL/回调函数/事件循环

    REPL 回调函数 事件循环 REPL----------------------------------------------------- Node.js REPL(Read Eval Prin ...