«

Debian10 x64 build make install Haproxy v2.2.0-在Debian10 64位系统编译安装最新版 Haproxy v2.2.0版本

时间:2020-7-16 16:16     作者:admin     分类: Linux


haproxy是一个由C语言编写主要应用于高可用性和负载均衡的应用层代理软件。

Haproxy.png 

今天需要用到haproxy,但是无奈通过系统 Debian10 自带的软件源安装的版本太低了 apt install -y haproxy ;故自行前往官网:http://www.haproxy.org/ 

查看最新版的haproxy,目前最新版本是 2.2.0 .

那么使用 wget 先下载到本地:wget http://www.haproxy.org/download/2.2/src/haproxy-2.2.0.tar.gz

解压:

tar zxf haproxy-2.2.0.tar.gz

进入解压后的目录:

cd haproxy-2.2.0/


执行 make 准备进行编译,但是出错:

Due to too many reports of suboptimized setups, building without
specifying the target is no longer supported. Please specify the
target OS in the TARGET variable, in the following form:

   make TARGET=xxx

Please choose the target among the following supported list :

   linux-glibc, linux-glibc-legacy, linux-musl, solaris, freebsd, openbsd,
   netbsd, cygwin, haiku, aix51, aix52, aix72-gcc, osx, generic, custom

Use "generic" if you don't want any optimization, "custom" if you
want to precisely tweak every option, or choose the target which
matches your OS the most in order to gain the maximum performance
out of it. Please check the Makefile in case of doubts.

Makefile:761: recipe for target 'all' failed
make: *** [all] Error 1



根据提示,需要设置编译的 target 。

我们可以修改目录下的 Makefile 里面的 TARGET 或者是在 make 命令后加上:make TARGET=linux-glibc 即可:

[root@vmware haproxy-2.2.0]# make TARGET=linux-glibc
  CC      src/ev_poll.o
  CC      src/ev_epoll.o
  CC      src/namespace.o
  CC      src/mux_fcgi.o
  CC      src/mux_h1.o
  CC      src/mux_h2.o
  CC      src/backend.o
  CC      src/cfgparse.o
  CC      src/cli.o
  CC      src/cfgparse-listen.o
  CC      src/stats.o
  CC      src/http_ana.o
  CC      src/stream.o
  CC      src/check.o
  CC      src/sample.o
  CC      src/tools.o
  CC      src/server.o
  CC      src/listener.o
  CC      src/tcpcheck.o
  CC      src/pattern.o
  CC      src/log.o
  CC      src/stick_table.o
  CC      src/flt_spoe.o
  CC      src/stream_interface.o
  CC      src/filters.o
  CC      src/http_fetch.o
  CC      src/map.o
  CC      src/session.o
  CC      src/sink.o
  CC      src/flt_http_comp.o
  CC      src/debug.o
  CC      src/tcp_rules.o
  CC      src/haproxy.o
  CC      src/peers.o
  CC      src/flt_trace.o
  CC      src/queue.o
  CC      src/proxy.o
  CC      src/http_htx.o
  CC      src/dns.o
  CC      src/raw_sock.o
  CC      src/pool.o
  CC      src/http_act.o
  CC      src/http_rules.o
  CC      src/compression.o
  CC      src/cfgparse-global.o
  CC      src/payload.o
  CC      src/signal.o
  CC      src/activity.o
  CC      src/mworker.o
  CC      src/cache.o
  CC      src/proto_uxst.o
  CC      src/lb_chash.o
  CC      src/connection.o
  CC      src/proto_tcp.o
  CC      src/http_conv.o
  CC      src/arg.o
  CC      src/lb_fas.o
  CC      src/xprt_handshake.o
  CC      src/fcgi-app.o
  CC      src/applet.o
  CC      src/acl.o
  CC      src/task.o
  CC      src/ring.o
  CC      src/vars.o
  CC      src/trace.o
  CC      src/mux_pt.o
  CC      src/xxhash.o
  CC      src/mworker-prog.o
  CC      src/h1_htx.o
  CC      src/frontend.o
  CC      src/extcheck.o
  CC      src/channel.o
  CC      src/action.o
  CC      src/mailers.o
  CC      src/proto_sockpair.o
  CC      src/ebmbtree.o
  CC      src/thread.o
  CC      src/lb_fwrr.o
  CC      src/time.o
  CC      src/regex.o
  CC      src/lb_fwlc.o
  CC      src/htx.o
  CC      src/h2.o
  CC      src/hpack-tbl.o
  CC      src/lru.o
  CC      src/wdt.o
  CC      src/lb_map.o
  CC      src/eb32sctree.o
  CC      src/ebistree.o
  CC      src/h1.o
  CC      src/sha1.o
  CC      src/http.o
  CC      src/fd.o
  CC      src/ev_select.o
  CC      src/chunk.o
  CC      src/hash.o
  CC      src/hpack-dec.o
  CC      src/freq_ctr.o
  CC      src/http_acl.o
  CC      src/dynbuf.o
  CC      src/uri_auth.o
  CC      src/protocol.o
  CC      src/auth.o
  CC      src/ebsttree.o
  CC      src/pipe.o
  CC      src/hpack-enc.o
  CC      src/fcgi.o
  CC      src/eb64tree.o
  CC      src/dict.o
  CC      src/shctx.o
  CC      src/ebimtree.o
  CC      src/eb32tree.o
  CC      src/ebtree.o
  CC      src/dgram.o
  CC      src/hpack-huff.o
  CC      src/base64.o
  CC      src/version.o
  LD      haproxy



注:如果失败,请注意查看机器是否安装 lua 环境,命令行执行 lua -v 如果有显示版本就是有安装,没用就自行安装,这里以本机为例:apt install -y lua5.3 

编译成功后,直接执行 make install 即可安装好 haproxy :

[root@vmware haproxy-2.2.0]# make install
'haproxy' -> '/usr/local/sbin/haproxy'
'doc/haproxy.1' -> '/usr/local/share/man/man1/haproxy.1'
install: creating directory '/usr/local/doc'
install: creating directory '/usr/local/doc/haproxy'
'doc/configuration.txt' -> '/usr/local/doc/haproxy/configuration.txt'
'doc/management.txt' -> '/usr/local/doc/haproxy/management.txt'
'doc/proxy-protocol.txt' -> '/usr/local/doc/haproxy/proxy-protocol.txt'
'doc/seamless_reload.txt' -> '/usr/local/doc/haproxy/seamless_reload.txt'
'doc/architecture.txt' -> '/usr/local/doc/haproxy/architecture.txt'
'doc/peers-v2.0.txt' -> '/usr/local/doc/haproxy/peers-v2.0.txt'
'doc/regression-testing.txt' -> '/usr/local/doc/haproxy/regression-testing.txt'
'doc/cookie-options.txt' -> '/usr/local/doc/haproxy/cookie-options.txt'
'doc/lua.txt' -> '/usr/local/doc/haproxy/lua.txt'
'doc/WURFL-device-detection.txt' -> '/usr/local/doc/haproxy/WURFL-device-detection.txt'
'doc/linux-syn-cookies.txt' -> '/usr/local/doc/haproxy/linux-syn-cookies.txt'
'doc/SOCKS4.protocol.txt' -> '/usr/local/doc/haproxy/SOCKS4.protocol.txt'
'doc/network-namespaces.txt' -> '/usr/local/doc/haproxy/network-namespaces.txt'
'doc/DeviceAtlas-device-detection.txt' -> '/usr/local/doc/haproxy/DeviceAtlas-device-detection.txt'
'doc/51Degrees-device-detection.txt' -> '/usr/local/doc/haproxy/51Degrees-device-detection.txt'
'doc/netscaler-client-ip-insertion-protocol.txt' -> '/usr/local/doc/haproxy/netscaler-client-ip-insertion-protocol.txt'
'doc/peers.txt' -> '/usr/local/doc/haproxy/peers.txt'
'doc/close-options.txt' -> '/usr/local/doc/haproxy/close-options.txt'
'doc/SPOE.txt' -> '/usr/local/doc/haproxy/SPOE.txt'
'doc/intro.txt' -> '/usr/local/doc/haproxy/intro.txt'
[root@vmware haproxy-2.2.0]# haproxy -v
HA-Proxy version 2.2.0 2020/07/07 - 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.0.html
Running on: Linux 4.18.0-80.7.1.el8_0.x86_64 #1 SMP Sat Aug 3 15:14:00 UTC 2019 x86_64
[root@vmware haproxy-2.2.0]#

执行 haproxy -v 可以正确显示 版本号 2.2.0 即表明安装成功。

至于其 haproxy 的配置,根据业务需要,自行配置。Google上一大把。



标签: Linux 代理 haproxy

版权所有:Mrxn's Blog
文章标题:Debian10 x64 build make install Haproxy v2.2.0-在Debian10 64位系统编译安装最新版 Haproxy v2.2.0版本
除非注明,文章均为 Mrxn's Blog 原创,请勿用于任何商业用途,转载请注明作者和出处 Mrxn's Blog

扫描二维码,在手机上阅读