首页 > 其他分享 >Haproxy 安装配置

Haproxy 安装配置

时间:2024-05-14 11:18:51浏览次数:16  
标签:Haproxy haproxy systemd stats log 配置 etc timeout 安装

Haproxy 安装配置

官方文档参考https://docs.haproxy.org/

四层的haproxy不支持把客户端真实的IP地址传到后端服务器。

1、安装

1.1 二进制编译安装。

https://github.com/haproxy/haproxy/releases/tag/v2.8.0

yum groupinstall -y "Development Tools"
yum install pcre pcre-devel openssl-devel systemd-devel -y

完整的说明文档在二进制的INSTALL文档中。

# 一般代理使用使用下面的编译参数足够
$ make clean
$ make -j $(nproc) TARGET=linux-glibc \
USE_OPENSSL=1  USE_PCRE=1 USE_SYSTEMD=1
$ sudo make install

编译好之后会在源代码目录下生成可执行文件haproxy的可执行文件。

可执行文件的目录放在/usr/local/sbin/haproxy下面。

[root@localhost systemd]# pwd
/opt/haproxy/admin/systemd
[root@localhost systemd]# cp haproxy.service /usr/lib/systemd/system/

systemd]# mkdir /etc/haproxy/
systemd]# cat /etc/haproxy/haproxy.cfg 
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 /opt/haproxy/stats

listen stats
  bind 0.0.0.0:1080
  mode http
  stats enable
  stats uri /
  stats realm jfbym\ Haproxy
  stats auth admin:kailin@0ps1
  stats  refresh 30s
  stats  show-node
  stats  show-legends
  stats  hide-version

                        
#---------------------------------------------------------------------
# common defaults that all the 'listen' and 'backend' sections will
# use if not designated in their block
#---------------------------------------------------------------------
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 dama
  bind  192.168.21.209:80
  balance roundrobin
  mode tcp
  option tcplog
  log  127.0.0.1 local2 info
  log-format {"haproxy_clientIP":"%ci","haproxy_clientPort":"%cp","haproxy_dateTime":"%t","haproxy_frontendNameTransport":"%ft","haproxy_backend":"%b","haproxy_serverName":"%s","haproxy_Tw":"%Tw","haproxy_Tc":"%Tc","haproxy_Tt":"%Tt","haproxy_bytesRead":"%B","haproxy_terminationState":"%ts","haproxy_actconn":%ac,"haproxy_FrontendCurrentConn":%fc,"haproxy_backendCurrentConn":%bc,"haproxy_serverConcurrentConn":%sc,"haproxy_retries":%rc,"haproxy_srvQueue":%sq,"haproxy_backendQueue":%bq,"haproxy_backendSourceIP":"%bi","haproxy_backendSourcePort":"%bp"}
                        
  server dama-web 172.17.0.3:80 check inter 2000 rise 2 fall 5

启动服务

useradd haproxy -s /sbin/nologin
ln -s haproxy-2.8.0/ haproxy
mkdir /var/lib/haproxy

systemctl start haproxy
systemctl enable haproxy

1.2 使用rpm仓库安装

yum -y install haproxy

[root@deploy-146 ~]# systemctl start haproxy
[root@deploy-146 ~]# systemctl enable haproxy
Created symlink from /etc/systemd/system/multi-user.target.wants/haproxy.service to /usr/lib/systemd/system/haproxy.service.
[root@deploy-146 ~]# 
[root@deploy-146 ~]# ss -lntup | grep haproxy
udp    UNCONN     0      0         *:34387                 *:*                   users:(("haproxy",pid=1356508,fd=6),("haproxy",pid=1356507,fd=6))
tcp    LISTEN     0      3000      *:5000                  *:*                   users:(("haproxy",pid=1356508,fd=5))

# 校验配置文件
haproxy -c -f /etc/haproxy/haproxy.cfg

2、配置日志输出

haproxy的日志不能直接输出到文件,这里使用centos自带的rsyslog去接收haproxy生成的日志并生成文件存储。

cat /etc/sysconfig/rsyslog 

SYSLOGD_OPTIONS="-r -m 0"

# -r:   打开接受外来日志消息的功能,其监控514 UDP端口;
# -x:   关闭自动解析对方日志服务器的FQDN信息,这能避免DNS不完整所带来的麻烦;
# -m:  修改syslog的内部mark消息写入间隔时间(0为关闭),例如240为每隔240分钟写入一次"--MARK--"信息;
# -h:   默认情况下,syslog不会发送从远端接受过来的消息到其他主机,而使用该选项,则把该开关打开,所有接受到的信息都可根据syslog.conf中定义的@主机转发过去. 

vi /etc/rsyslog.conf

# 设置rstslog服务,打开端口监听
$ModLoad imudp
$UDPServerRun 514

$ModLoad imtcp
$InputTCPServerRun 514

# 新增配置
local2.*                       /var/log/haproxy.log


systemctl restart rsyslog.service

标签:Haproxy,haproxy,systemd,stats,log,配置,etc,timeout,安装
From: https://www.cnblogs.com/gshelldon/p/18190951

相关文章

  • linux安装cuda和cudnn
    //安装cudawgethttps://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pinsudomvcuda-wsl-ubuntu.pin/etc/apt/preferences.d/cuda-repository-pin-600wgethttps://developer.download.nvidia.com/compute/cuda/12.4.1/local_ins......
  • PXE+Kickstart无人值守安装安装Centos7.9
    目录一、什么是PXE1、简介2、工作模式3、工作流程二、什么是Kickstart1、简介2、触发方式三、无人值守安装系统工作流程四、实验部署1、环境准备2、服务端:关闭防火墙和selinux3、添加一张仅主机的网卡4、配置仅主机的网卡4.1、修改网络连接名4.2、配IP地址4.3、重启网卡5、配置DHC......
  • 随笔-网络-Linux多网卡同网段解决方法(配置IP路由)
    系统配置:多网口情况下,假设各个网口ip在同一网段;此时,由于默认路由规则,从不同网口的ip访问,服务器依旧会返回默认网口的mac地址,配置方式如下:sysctl-wnet.ipv4.ip_forward=1#开启ip转发规则net.ipv4.conf.X.rp_filter=0#X填alldefault各个网卡路由设置:假设默认网卡......
  • linux里安装sql2022详细步骤
    https://learn.microsoft.com/zh-tw/sql/linux/quickstart-install-connect-ubuntu?view=sql-server-linux-ver16&preserve-view=true&tabs=ubuntu2004https://learn.microsoft.com/zh-tw/sql/linux/quickstart-install-connect-ubuntu?view=sql-server-linux-ver16&a......
  • samba共享文件夹配置
    一、操作系统版本Ubuntu14.04二、samba版本version4.3.11-Ubuntu三、samba配置文件位置/etc/samba/smb.conf四、建立共享文件操作。在某个目录中,新建一个文件夹,并将此文件夹共享出去。以/tmp下的myshare为例。mkdirmysharechmod777/tmp/myshare五、vim ......
  • 运维必备Linux学习day2(mysql,jdk,redis,docker安装)
    一.MySQL安装①Linux环境:1.虚拟机Centos7.6版本安装,2.准备类似版本 mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar包1.新建文件夹/opt/mysql,并cd进去,首先:mkdir/opt/mysql2.运行 wgethttp://dev.mysql.com/get/mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar,下载mysql安装包......
  • Windows 上的 OpenSSH:安装、配置和使用指南
    Windows上的OpenSSH:安装、配置和使用指南发布日期:2024-03-08 分类:Windows  对于大多数Windows用户来说,远程桌面协议(RDP)凭借其友好的图形界面,一直是远程管理的首选。但对于需要更精细控制的系统管理员而言,SSH才是更适合的选择。它通过命令行实现与远程设备的交互,让管......
  • Linux上安装dotnet
    安装dotnet下载地址:https://dotnet.microsoft.com/zh-cn/download/dotnet选择.NET7.0选择SDK7.0.408的Linux版本的x64版本https://dotnet.microsoft.com/zh-cn/download/dotnet/thank-you/sdk-7.0.408-linux-x64-binaries打开压缩包所在文件夹,在压缩包所在文件......
  • 【YashanDB知识库】ycm托管数据库时,数据库非OM安装无法托管
    问题现象ps-ef|grepyas查看无yasom和yasagent进程,且在{数据库安装目录}/om/{数据库名称}的目录下没有conf、data、log等目录,确定数据库不是用yasboot安装,是用脚本安装的问题的风险及影响非yasboot安装,ycm无法完成托管,无法监控问题影响的版本不涉及ycm的版本问题问题发......
  • 创建启动springboot项目的一些问题,如spring-boot-autoconfigure 自动加载注入配置
    1.springboot项目启动是否只需要3下面3个jar包<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.b......