TH小破站

  • 首页
  • 容器
    • 认识Docker
    • DockerFile详解
  • k8s
    • 认识Kubernetes
    • Kubernetes部署--(kubeadm方式)
    • kubeasz部署k8s集群
    • Ansible-binary部署k8s集群-1.31.2
  • Ceph
    • 认识分布式存储
    • CPEH部署
  • CI/CD
    • DevOps认识
    • 部署--Gitlab
  • ELK
    • ELK简介
    • Elasticsearch
    • Kibana部署
    • Logstash
    • ELK--收集 tomcat 日志(实战)
  • HD
    • 认识--大数据
    • Hadoop-单机部署
    • Hadoop-伪分布部署
    • Hadoop-完全分布部署
    • Hadoop-(HA)完全分布部署
    • Ambari自动部署--Hadoop
  • Nginx
    • Nginx功能介绍
    • Nginx安全选项
    • Nginx配置文件简单介绍
    • 网站服务器部署
  • 监控
    • ZABBIX-部署(yum)
    • ZABBIX-编译安装
  • 云计算
    • KVM 概述
    • OpenStack企业级部署(T版)
    • OpenStack之dashboard部署
    • OpenStack-controller的高可用
    • openstack(Caracal版_ubuntu版本)部署
  • 数据库
    • mariadb与mysql
    • mysql主从
    • MySQL--冷备(实战)
    • MySQL--热备(dump表)
    • MySQL--热备(dump库)
    • 数据恢复实战案例
    • Xtrabackup实现MySql8.x全量备份
    • MyCat实现数据库读写分离
    • MHA实现数据库高可用
    • Percona XtraDB(PXC)实现数据库集群高可用
    • 数据库压力测试
    • PostgreSQL 基操
    • PostgreSQL备份恢复
    • PostgreSQL高可用
    • MongDB安装配置基础使用
    • MongoDB实现复制集
    • MongoDB备份还原
  • 自动化
    • ssh远程服务原理及配置
    • Ansible剧本文件应用
    • Ansible管理服务介绍
    • Ansible自动化部署node_exporter(包含升级,回滚)
    • Saltstack-部署安装
  • 脚本
    • 一键查看服务器资源利用率
    • 一键生成SSL证书
    • 保存指定数量的文件/目录
    • 初始化服务器
    • 扫描可用IP
    • 批量分发SSH密钥
    • 监控多主机磁盘脚本
    • 一键安装MySQL8.x脚本
    • Python脚本监控ES集群
    • 资源巡检脚本
    • 查看各用户使用的cpu占比
热衷于分享
架构师成长之路 !!!
  1. 首页
  2. LB
  3. 正文

Haproxy--编译安装

2023年12月10日 1220点热度 0人点赞 0条评论

编译安装

下载网址:https://www.haproxy.org/download/

解决 lua 环境

下载地址:http://www.lua.org/ftp/

`安装基础命令及编译依赖环境`
[root@master-a src]# yum install gcc readline-devel
[root@master-a src]# wget http://www.lua.org/ftp/lua-5.3.5.tar.gz
[root@master-a src]# tar xf lua-5.3.5.tar.gz -C /usr/local/src/
[root@master-a src]# cd /usr/local/src/lua-5.3.5/
[root@master-a lua-5.3.5]# make linux test
`查看编译安装的版本`
[root@master-a lua-5.3.5]# src/lua -v

安装haproxy

#vHAProxy 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以上版本编译参数:`
[root@master-a lua-5.3.5]# yum -y install gcc openssl-devel pcre-devel systemd-devel
[root@master-a src]# wget http://www.lua.org/ftp/lua-5.3.5.tar.gz
[root@master-a src]# tar xf haproxy-2.1.12.tar.gz -C /usr/local/src/
[root@master-a src]# cd /usr/local/src/haproxy-2.1.12/
[root@master-a haproxy-2.1.12]# cat INSTALL
​
`#参考INSTALL文件进行编译安装`
[root@master-a haproxy-2.1.12]# 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.3.5/src/ LUA_LIB=/usr/local/src/lua-5.3.5/src/
[root@master-a haproxy-2.1.12]# make install PREFIX=/apps/haproxy
`加一个软连接`
[root@master-a haproxy-2.1.12]# ln -s /apps/haproxy/sbin/haproxy /usr/sbin/
`查看版本`
[root@master-a haproxy-2.1.12]# haproxy -v
HA-Proxy version 2.1.12-529bae5 2021/03/18 - https://haproxy.org/
Status: End of life - please upgrade to branch 2.2.
Known bugs: http://www.haproxy.org/bugs/bugs-2.1.12.html
Running on: Linux 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64

 配置文件

`#创建自定义的配置文件`
[root@master-a haproxy-2.1.12]# mkdir /etc/haproxy
[root@master-a haproxy-2.1.12]# vim /etc/haproxy/haproxy.cfg
global
 maxconn 100000
 chroot /apps/haproxy
 stats socket /apps/haproxy/run/haproxy.sock mode 600 level admin
 uid 99
 gid 99 
#user haproxy
#group haproxy
 daemon
 nbproc 1
#cpu-map 1 0
#cpu-map 2 1
#cpu-map 3 2
#cpu-map 4 3
 pidfile /apps/haproxy/run/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 0.0.0.0:80
 mode http
 log global
 server web1 127.0.0.1:8080 check inter 3000 fall 2 rise 5

准备HAProxy启动文件

[root@master-a ~]# vim /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 /apps/haproxy/run/haproxy.pid
ExecReload=/bin/kill -USR2 $MAINPID
LimitNOFILE=100000
​
[Install]
WantedBy=multi-user.target

启动 haproxy

`#准备socket文件目录`
[root@master-a haproxy-2.1.12]# mkdir /apps/haproxy/run
[root@master-a ~]# systemctl start haproxy.service 
[root@master-a ~]# ss -tnl
State      Recv-Q Send-Q              Local Address:Port                             Peer Address:Port              
LISTEN     0      128                             *:9999                                        *:*                  
LISTEN     0      128                             *:80                                          *:*                  
LISTEN     0      128                             *:22                                          *:*                  
LISTEN     0      100                     127.0.0.1:25                                          *:*                  
LISTEN     0      128                          [::]:22                                       [::]:*                  
LISTEN     0      100                         [::1]:25                                       [::]:* 
标签: 暂无
最后更新:2023年12月10日

唐豪

这个人很懒,什么都没留下

点赞
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复
文章目录
  • 编译安装

COPYRIGHT © 2025 TH小破站. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

渝ICP备2023013789号

渝公网安备50011702500926号