首页 > 编程语言 >Haproxy源码安装

Haproxy源码安装

时间:2022-12-04 08:55:31浏览次数:59  
标签:Haproxy haproxy root lua 源码 db02 txt 安装

Haproxy源码安装

目录

了解haproxy

Haproxy比nginx的代理功能更强,可以达到10W以上的访问并发,但没有LVS的并发访问能力强大。

Haproxy既可以代理7层,又可以代理4层。

在公有云架构中:

​ 阿里云上的四层代理用LVS,七层代理用tingine自己的代理功能。

提供负载均衡的软件有三款:LVS、Nginx、Haproxy

LVS并发数可以达到百万级,而Haproxy并发数可以达到十万级

三款负载均衡软件区别:

LVS:工作在内核空间,后端服务器端看到的IP是来自访问客户端的

Nginx:工作在用户空间,,后端服务器端看到的IP是来自Nginx代理端的

Haproxy:并非真正的4层,而是伪4层

硬件:

F5

Netscaler

Array

深信服

北京灵州

Haproxy配置文件

默认监听端口:5000

安装Haproxy

安装环境:

系统:centos7

lua版本:Lua 5.3.6

Haproxy版本:HA-Proxy version 2.0.22

1、解决lua环境

Lua官网:www.lua.org

Lua安装文档:https://www.lua.org/start.html

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

将下载好的lua软件上传到linux上

安装基础命令及编译依赖环境:

[root@db02 ~]# yum install gcc readline-devel -y

解压缩并安装:

[root@db02 ~]# tar zxf lua-5.3.6.tar.gz 
[root@db02 ~]# cd lua-5.3.6/
[root@db02 ~]# make linux

查看lua版本

[root@db02 lua-5.3.6]# pwd
/root/lua-5.3.6
[root@db02 lua-5.3.6]# ./src/lua -v
Lua 5.3.6  Copyright (C) 1994-2020 Lua.org, PUC-Rio

2、安装Haproxy

安装基础命令及编译依赖环境:

[root@db02 ~]# yum -y install gcc openssl-devel pcre-devel systemd-devel

haproxy官网:http://www.haproxy.org/

下载haproxy 2.0 版本:

http://www.haproxy.org/download/2.0/src/haproxy-2.0.22.tar.gz

将下载好的lua软件上传到linux上

安装基础命令及编译依赖环境:

[root@db02 ~]# yum -y install gcc openssl-devel pcre-devel systemd-devel

解压缩并安装:

[root@db02 ~]# tar zxf haproxy-2.0.22.tar.gz
[root@db02 ~]# cd haproxy-2.0.22/

参考INSTALL文件进行编译安装:

[root@db02 haproxy-2.0.22]# cat INSTALL
[root@db02 haproxy-2.0.22]# make -j 4 TARGET=linux-glibc USE_OPENSSL=1 USE_ZLIB=1 USE_PCRE=1 USE_SYSTEMD=1 USE_LUA=1 LUA_INC=/root/lua-5.3.6/src LUA_LIB=/root/lua-5.3.6/src
[root@db02 haproxy-2.0.22]# make install PREFIX=/apps/haproxy
[root@db02 haproxy-2.0.22]# ln -s /apps/haproxy/sbin/haproxy /usr/sbin/
[root@db02 ~]# tree /apps/haproxy
/apps/haproxy
├── doc
│   └── haproxy
│       ├── 51Degrees-device-detection.txt
│       ├── architecture.txt
│       ├── close-options.txt
│       ├── configuration.txt
│       ├── cookie-options.txt
│       ├── DeviceAtlas-device-detection.txt
│       ├── intro.txt
│       ├── linux-syn-cookies.txt
│       ├── lua.txt
│       ├── management.txt
│       ├── netscaler-client-ip-insertion-protocol.txt
│       ├── network-namespaces.txt
│       ├── peers.txt
│       ├── peers-v2.0.txt
│       ├── proxy-protocol.txt
│       ├── regression-testing.txt
│       ├── seamless_reload.txt
│       ├── SOCKS4.protocol.txt
│       ├── SPOE.txt
│       └── WURFL-device-detection.txt
├── sbin
│   └── haproxy
└── share
    └── man
        └── man1
            └── haproxy.1

6 directories, 22 files

3、验证Haproxy版本

[root@db02 ~]# which haproxy
/usr/sbin/haproxy
[root@db02 ~]# /usr/sbin/haproxy -v
HA-Proxy version 2.0.22-d4759ba 2021/04/12 - https://haproxy.org/

4、创建配置文件

查看配置文件范例:

[root@db02 ~]# tree /apps/haproxy-2.0.22/examples/
/apps/haproxy-2.0.22/examples/
├── acl-content-sw.cfg
├── content-sw-sample.cfg
├── errorfiles
│?? ├── 400.http
│?? ├── 403.http
│?? ├── 408.http
│?? ├── 500.http
│?? ├── 502.http
│?? ├── 503.http
│?? ├── 504.http
│?? └── README
├── haproxy.init
├── option-http_proxy.cfg
├── socks4.cfg
├── transparent_proxy.cfg
└── wurfl-example.cfg

1 directory, 15 files

创建自定义的配置文件:

[root@db02 ~]# mkdir /etc/haproxy

[root@db02 ~]# vim /etc/haproxy/haproxy.cfg

[Unit]
Description=HAProxy Load Balancer
After=syslog.target network.target
Documentation=man:haproxy(1)
Documentation=file:/apps/haproxy/doc/haproxy/configuration.txt

[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
创建socket文件的目录:

[root@db02 ~]# mkdir /var/lib/haproxy/

创建运行haproxy的用户:

[root@db02 ~]# useradd -r -s /sbin/nologin -d /var/lib/haproxy haproxy

将haproxy的帮助文档,加入到帮助里边
[root@db02 ~]# tree /apps/haproxy/share/man/

[root@db02 ~]# vim /etc/man_db.conf
MANDATORY_MANPATH                       /apps/haproxy/share/man/

更新man的数据库:

[root@db02 ~]# mandb

5、启动haproxy

[root@db02 ~]# systemctl enable --now haproxy
[root@db02 ~]# systemctl start haproxy
[root@db02 ~]# systemctl status haproxy

6、查看haproxy的状态页面

浏览器访问:http://192.168.1.75:9999/haproxy-status

标签:Haproxy,haproxy,root,lua,源码,db02,txt,安装
From: https://www.cnblogs.com/jianchen013/p/14774190.html

相关文章

  • 推荐一款采用 .NET 编写的 反编译到源码工具 Reko
    今天给大家介绍的是一款名叫Reko的开源反编译工具,该工具采用C#开发,广大研究人员可利用Reko来对机器码进行反编译处理。我们知道.NET7有了NativeAOT的支持,采用NativeAOT......
  • UML语法 - 插件的安装和使用
    UML介绍https://plantuml.com/zh/sequence-diagramPlantUML是一个可以让你快速编写UML图的组件,语法可以直接参考这个网站的语法示例画图。在线UML方便快捷:http://www......
  • Winform程序在VS中打包成安装程序(带卸载)
    场景在VS中进行Winform开发时,可以直接在项目上右击选择生成  则会在项目的bin目录下直接生成exe等文件,此时将这个文件夹直接整个复制到别的地方就可以运行。 ......
  • git-lab安装
    进入官网https://packages.gitlab.com/gitlab/gitlab-ce/选择相应的版本下载  安装相关的依赖yuminstallcurlopenssh-serveropenssh-clientspostfixpolicyc......
  • 关于i3-8100安装黑群晖无核显问题
    本人引导是1.04bds918+ 群晖版本6.2.31.操作方法https://www.zxbblog.com/?id=138(需要diskgeniuspro版本,去网上随便下一个)2.补丁下载地址:点我下载 提取码:kox4(DS......
  • WEB IDE Code Server 安装及使用
    概述Coder是VSCode的WebIDE,分CodeServer和Coder,CodeServer安装在服务器上,Coder是一个WEB版的VSCode,但目前多数的VSCode插件无法使用。VSCode:https://code.visua......
  • docker安装minio 2022-06-17T02-00-35Z
    minio版本太多,这个版本比较稳定dockerpull minio/minio:RELEASE.2022-06-17T02-00-35Zdockerrun-d-p3001:9000-p3002:9001--nameminio\-e"MINIO_ROOT_USER......
  • Spring源码-01-调试代码
    Spring源码-01-调试代码Spring源码工程下新建模块用于调试源码一新建模块名称以spring为前缀二引入依赖plugins{id'java'}group'org.springframework'......
  • CentOS7 安装 mariadb
    MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此......
  • TOMCAT安装和配置
    Tomcat安装和配置过程确认是否安装JDK下载安装TomcatTomcat配置环境变量验证是否配置成功一、确认是否安装JDK​ win+R打开运行,输入cmd回车,在dos窗口中输入java-v......