首页 > 其他分享 >haproxy2.8.10安装

haproxy2.8.10安装

时间:2024-07-17 17:31:40浏览次数:19  
标签:haproxy 10 USE haproxy2.8 service local systemd usr 安装

网上查了很多关于haproxy热加载(reload)的文章,大体都有问题,在此记录下,我的安装配置记录。

采用tar包编译安装,下载haproxy2.8.10(tls:长期支持稳定版本)

下载地址:

https://www.haproxy.org/ 摘自官方

规划:

Tar包安装,编译支持SSL证书

Tar包目录: /opt/

安装目录: /usr/local/haproxy/

配置文件目录: /etc/haproxy/haproxy.cfg

启停方式: systemctl start|stop|restart|status haproxy

Keepalived 安装在两台服务器上做主备(忽略。)

 

1. 首先安装依赖

yum install gcc gcc-c++ openssl openssl-devel systemd-devel pcre-devel zlib-devel  -y

2. 解压,编译

tar xf haproxy-2.8.10.tar.gz
cd haproxy-2.8.10
# 开启支持SSL(centos6, TARGET=linux2628, centos7,TARGET=linux310,当然7也可以指定为linux2628)
make TARGET=linux310 PREFIX=/usr/local/haproxy USE_OPENSSL=1 USE_SYSTEMD=1 USE_PCRE=1 USE_ZLIB=1 USE_CRYPT_H=1 USE_LIBCRYPT=1 USE_CPU_AFFINITY=1 USE_THREAD=1
# 安装位置一定要带上,其他编译属性可以不带
make install PREFIX=/usr/local/haproxy
# 对于升级过的openssl,指定下两个目录(我的是这俩目录),没升级过,可以忽略
make TARGET=linux310 PREFIX=/usr/local/haproxy USE_OPENSSL=1 USE_SYSTEMD=1 USE_PCRE=1 USE_ZLIB=1 USE_CRYPT_H=1 USE_LIBCRYPT=1 USE_CPU_AFFINITY=1 USE_THREAD=1 
SSL_INC=/usr/local/ssl/include  SSL_LIB=/usr/local/ssl/lib

3. #完成安装,验证编译属性

  /usr/local/haproxy/sbin/haproxy  -vv
  3.1 #动态链接库文件,
  查看执行程序依赖的so动态链接库文件
  ldd  /usr/local/haproxy/sbin/haproxy | grep ssl

    验证没有问题

 4. # 软链:ln -s target symbol, 注意这个位置最好选择在(/usr/local/bin目录下),/usr/local/bin{sbin}, 对于链接在/usr/{bin|sbin}/目录下的,也可以,主要考虑/usr/local目录不会随系统升级而影响

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

5. # 服务管理脚本(haproxy.service)

 

有的文章说,热加载,要配合stats 什么sock,其实不需要,直接把这个haproxy.service配置好就可以

 

题外话:service默认位置

  centos:  /usr/lib/systemd/system/

       ubuntu:  /etc/systemd/system/

在该/usr/lib/systemd/system目录下,创建haproxy.service服务,主要是复制源解压包目录下的 /opt/haproxy-2.8.10/admin/systemd/haproxy.service.in文件到system目录下,修改下相关配置为自己的目录

cp /opt/haproxy-2.8.10/admin/systemd/haproxy.service.in  /usr/lib/systemd/system/haproxy.service

#编辑haproxy.service文件

   vi /usr/lib/systemd/system/haproxy.service

[Unit]
Description=HAProxy Load Balancer
After=network-online.target
Wants=network-online.target

[Service]
EnvironmentFile=-/etc/default/haproxy
EnvironmentFile=-/etc/sysconfig/haproxy
Environment="CONFIG=/etc/haproxy/haproxy.cfg" "PIDFILE=/var/run/haproxy.pid" "EXTRAOPTS=-S /etc/haproxy/haproxy-master.sock"
ExecStart=/usr/local/bin/haproxy -Ws -f $CONFIG -p $PIDFILE $EXTRAOPTS
ExecReload=/usr/local/bin/haproxy -Ws -f $CONFIG -c -q $EXTRAOPTS
ExecReload=/bin/kill -USR2 $MAINPID
KillMode=mixed
Restart=always
SuccessExitStatus=143
Type=notify

[Install]
WantedBy=multi-user.target

注意几个配置意思:

SuccessExitStatus=143:SuccessExitStatus=143 是为了告诉Systemd,如果服务在接收到停止信号后以状态码143退出,这应该被视为服务成功地完成了它的清理工作并终止,而不是一个错误或异常情况

 

6. # 创建配置文件目录

mkdir  /etc/haproxy/

7. # 配置haproxy.cfg

  常规按自己要求配置即可。

8. 相关启停

systemctl enable haproxy.service
systemctl start haproxy.service
systemctl status haproxy.service
systemctl reload haproxy.service

 

    

 

标签:haproxy,10,USE,haproxy2.8,service,local,systemd,usr,安装
From: https://www.cnblogs.com/macoffee/p/18307868

相关文章

  • Visual Studio 2022下载安装教程c++
    文章目录VisualStudio安装教程一、官网下载二、安装三、配置四、VisualStudio2022使用教程VisualStudio安装教程一、官网下载下载地址:https://visualstudio.microsoft.com/zh-hans/downloads/二、安装要是个人学习的活就下载社区版下载完成后是一个安......
  • 题解:P10723 [GESP202406 七级] 黑白翻转
    背景汗流浃背了。分析容易想到一个显然的思路:以任意节点为根,开始遍历。如果一个节点的子树里面有黑点,那么它必须保留,否则如果它是白点,则可以删去。但这个方法很容易举出反例:在这颗树中,如果以最上面的白点为根,那么手推发现算法显然错误。尝试进行修改,容易发现,对于类似的情况......
  • 题解:P10722 [GESP202406 六级] 二叉树
    题意一颗\(n\)节点的二叉树,每个节点非黑即白,给你\(Q\)次操作,每次给你一个\(u\),把\(u\)的子树内所有节点颜色反转,问最终每个节点的颜色。分析看到数据范围,首先把操作离线。容易发现如果一个节点重复操作奇数次,等效于操作一次,如果重复操作偶数次,等效于没操作。所以我们可......
  • 题解:P10417 [蓝桥杯 2023 国 A] 第 K 小的和
    分析这道题不是板子么。先对序列排序,然后二分答案,设当前答案为\(x\),枚举\(a\)中的数,然后二分查找\(b\)中不大于\(x-a\)的元素个数,累加判断是否不大于\(k\)。然后稍微调一调端点就过了。Code#include<bits/stdc++.h>#include<ext/pb_ds/assoc_container.hpp>#incl......
  • 题解:P10672 【MX-S1-T1】壁垒
    暑期集训=依托答辩。分析种类数是奇数一定无解。否则每种数字先输出一次,在此过程中每增加两个数时,因为每个数字种类数都不一样,所以前缀种类数也同时增加\(2\),保证一定为偶数。然后输出完以后,设总种类数为\(m\),无论以后再怎么加入新数字,前缀种类数一定为\(m\)不变,后面数字......
  • 为什么都提倡学Python?这10大特性你一定要清楚!
    前言在了解Python的特性之前,我们首先要了解Python编程语言是什么。Python编程语言是世界上发展最快的编程语言。这一高级通用编程语言提供了广泛的实际应用,并且是一种非常流行的认证。Python可以让程序员更加高效地工作和集成系统。Python的语法优先考虑了可读性,同......
  • ubantu安装pcstat
    参考文档:https://github.com/tobert/pcstat?tab=readme-ov-file#readme先安装go见 https://www.cnblogs.com/wxxjianchi/p/18307654https://github.com/tobert/pcstat/raw/2014-05-02-01/pcstat.x86_64下载pcstat包mvpcstat.x86_64pcstat chmod755pcstat./pcstat p......
  • centos7 安装nginx
    一.安装必要的依赖yuminstallgcc-c++-yyuminstall-yopensslopenssl-develyuminstall-yzlibzlib-develyuminstall-ypcrepcre-devel二.下载nginx安装包进入usr/local里面创建nginx文件,方便后期删除干净cd/usr/localmkdirnginxcdnginxwget下载安装包w......
  • PyCharm安装教程(详细步骤)
    一、软件简介PyCharm是一款PythonIDE,其带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如,调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制等等。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。......
  • 如何安装Ascend深度学习套件
    1、 驱动安装1.1驱动测试输入测试命令:npu-smiinfo 结果如下: 1.2Ascend驱动未安装请参考Ascend驱动的安装文档,进行安装对应显卡的驱动,文档链接如下:https://support.huawei.com/enterprise/zh/doc/EDOC1100368783/2645a51f 2、 Ascend 深度学习套......