Ubuntuのに基づいており、haproxy CentOSのインストール

Ubuntu18.04 aptのインストール2.0.4
Centos7.6ヤムは1.8.14インストール
Centos7.6のコンパイルをしてhaproxy2.0.12をインストール

 

<H6 ID = 1> Ubuntu18.04やすいインストール2.0.4 </ H6>

ルート@ Ubuntuの:〜# apt-get install software-properties-common
一般的なソフトウェアパッケージをインストールします

Reading package lists... Done
Building dependency tree       
Reading state information... Done
software-properties-common is already the newest version (0.96.24.32.12).
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.

ルート@ Ubuntuの:〜# add-apt-repository ppa:vbernat/haproxy-2.0
ローカル倉庫にhaproxy2.0の最新バージョンを追加

root@ubuntu:~# add-apt-repository ppa:vbernat/haproxy-2.0
 HAProxy is a free, very fast and reliable solution offering high availability, load balancing, and proxying for TCP and HTTP-based applications. It is particularly suited for web sites crawling under very high loads while needing persistence or Layer7 processing. Supporting tens of thousands of connections is clearly realistic with todays hardware. Its mode of operation makes its integration into existing architectures very easy and riskless, while still offering the possibility not to expose fragile web servers to the Net.

This PPA contains packages for HAProxy 2.0.
 More info: https://launchpad.net/~vbernat/+archive/ubuntu/haproxy-2.0
Press [ENTER] to continue or Ctrl-c to cancel adding it.
                             ##这里需要手动ENTENR确认后才会据需安装包
Get:1 http://ppa.launchpad.net/vbernat/haproxy-2.0/ubuntu bionic InRelease [20.7 kB]
Hit:2 http://mirrors.aliyun.com/ubuntu bionic InRelease           
Hit:3 http://mirrors.aliyun.com/ubuntu bionic-security InRelease                                                 
Hit:4 http://mirrors.aliyun.com/ubuntu bionic-updates InRelease  
...

ルート@ Ubuntuの:〜# apt update
ローカルリポジトリをアップグレードし、パッケージを変更するには関連するすべての操作は、あなたがこれを行う必要があります

Hit:1 http://mirrors.aliyun.com/ubuntu bionic InRelease
Hit:2 http://mirrors.aliyun.com/ubuntu bionic-security InRelease                                                 
Hit:3 http://mirrors.aliyun.com/ubuntu bionic-updates InRelease                                                  
Hit:4 http://mirrors.aliyun.com/ubuntu bionic-proposed InRelease                                                 
Hit:5 http://mirrors.aliyun.com/ubuntu bionic-backports InRelease                                   
Get:6 http://ppa.launchpad.net/vbernat/haproxy-2.0/ubuntu bionic InRelease [20.7 kB]
Get:7 http://ppa.launchpad.net/vbernat/haproxy-2.0/ubuntu bionic/main i386 Packages [9
...

Ubuntuのルート@:〜#apt-cache madison haproxy
倉庫haproxyで#見て・どのバージョンをインストールすることができます

root@ubuntu:~# apt-cache madison haproxy
   haproxy | 2.0.12-1ppa1~bionic | http://ppa.launchpad.net/vbernat/haproxy-2.0/ubuntu bionic/main amd64 Packages
   haproxy | 1.8.8-1ubuntu0.9 | http://mirrors.aliyun.com/ubuntu bionic-security/main amd64 Packages
   haproxy | 1.8.8-1ubuntu0.9 | http://mirrors.aliyun.com/ubuntu bionic-updates/main amd64 Packages
   haproxy |    1.8.8-1 | http://mirrors.aliyun.com/ubuntu bionic/main amd64 Packages
   haproxy |    1.8.8-1 | http://mirrors.aliyun.com/ubuntu bionic/main Sources
   haproxy | 1.8.8-1ubuntu0.9 | http://mirrors.aliyun.com/ubuntu bionic-security/main Sources
   haproxy | 1.8.8-1ubuntu0.9 | http://mirrors.aliyun.com/ubuntu bionic-updates/main Sources

ルート@ Ubuntuの:〜# apt install haproxy=2.0.4-1ppa1\~bionic
選択したバージョンをインストールします

Ubuntuの@ルート:〜# haproxy -v
バージョンの検証haproxy

HA-Proxy version 1.8.14-52e4d43 2018/09/20
Copyright 2000-2018 Willy Tarreau <[email protected]>

Ubuntuの@ルート:〜#systemctl start haproxy
#haproxy開始


<H6のID = 2> Centos7.6ヤムが搭載1.8.14 </ H6>

デフォルトcentos7パッケージによって古いhaproxyが1.5.18-9.el7であり、少ない需要を満たすため、我々はに基づいて、サードパーティのインストールパッケージをインストールすることができますyumを
https://pkgs.org/download/haproxy 1.8.14へのURL EL7最新のrpmパッケージのアップデート

一般的には、依存関係の倉庫パックのインストール・パッケージとhaproxy.rpmが必要です

インストールパッケージをダウンロードします

 wget https://centos.pkgs.org/7/cheese-x86_64/haproxy-1.8.14-1.el7.x86_64.rpm.html

ダウンロードの依存関係

 weget https://centos.pkgs.org/7/cheese-x86_64/cheese-release-7-1.noarch.rpm.html

対応するパケットを取り付け

#rpm -ivh cheese-release-7-1.noarch.rpm
#yum install haproxy-1.8.14-1.el7.x86_64.rpm -y

#haproxyバージョンを確認します。

# haproxy -v
HA-Proxy version 1.8.14-52e4d43 2018/09/20
Copyright 2000-2018 Willy Tarreau <[email protected]>

<H6 ID = 3> Centos7.6コンパイラインストールhaproxy2.0.12 </ H6>

コンパイルし、HAProxy 2.0 LTSバージョンをインストールし、より多くのソースパッケージは、公式サイトをダウンロード:http://www.haproxy.org/download/

HAProxy支持体は、機能を拡張するLUA CentOSのバージョンに起因するアプリケーションのための柔軟な拡張やカスタマイズ機能を提供することは、比較的低いLUAに付属している最小バージョンを満たしていない、あなたがパッケージをインストールする必要がありますので、(5.3)の要件をHAProxy LUAを必要と構築されています、LUA公式ダウンロード
https://www.lua.org/download.html

ユンは、コンパイラ環境をインストールします

yum install libtermcap-devel ncurses-devel libevent-devel readline-devel wget make gcc-y

ダウンロードlua5.3.5

wget http://www.lua.org/ftp/lua-5.3.5.tar.gz
61% [===================================================>                                 ] 187,197     8.29KB/s  eta 25s   

開梱とLuaのコンパイル
[ルート@ localhostのは/ usr / local / srcに]#tar xf lua-5.3.5.tar.gz -C .
[ルート@ localhostのは/ usr / local / srcに]#cd lua-5.3.5
[ルート@ localhostの/usr/local/src/lua-5.3.5]#cd src && make linux

...
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX    -c -o linit.o linit.c
ar rcu liblua.a lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o lauxlib.o lbaselib.o lbitlib.o lcorolib.o ldblib.o liolib.o lmathlib.o loslib.o lstrlib.o ltablib.o lutf8lib.o loadlib.o linit.o 
ranlib liblua.a
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX    -c -o lua.o lua.c
gcc -std=gnu99 -o lua   lua.o liblua.a -lm -Wl,-E -ldl -lreadline 
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX    -c -o luac.o luac.c
gcc -std=gnu99 -o luac   luac.o liblua.a -lm -Wl,-E -ldl -lreadline 
make[1]: Leaving directory `/usr/local/src/lua-5.3.5/src'

最終的にSRCでの2つの実行可能ファイルを生成する
ここに画像を挿入説明
システムのバージョンを

[root@localhost /usr/local/src/lua-5.3.5/src]#lua -v
Lua 5.1.4  Copyright (C) 1994-2008 Lua.org, PUC-Rio

コンパイルされたバージョン

[root@localhost /usr/local/src/lua-5.3.5/src]#./lua -v
Lua 5.3.5  Copyright (C) 1994-2018 Lua.org, PUC-Rio

HAProxyをコンパイルしてインストールします

依存haproxy環境をインストールする準備ができました

yum install gcc gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel systemd-devel net-tools vim iotop bc zip unzip zlib-devel lrzsz tree screen lsof tcpdump wget ntpdate -y

コンパイラパラメータの#HAProxy 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@localhost /usr/local/src/haproxy-2.0.12]#make ARCH=x86_64 TARGET=linux-glibc USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 USE_SYSTEMD=1 USE_CPU_AFFINITY=1 USE_LUA=1 LUA_INC=/usr/local/src/lua-5.3.5/src/ LUA_LIB=/usr/local/src/lua-5.3.5/src/ PREFIX=/usr/local/haproxy
#该配置默认安装在/usr/local/haproxy目录下
...
  CC      src/dict.o
  CC      src/xprt_handshake.o
  CC      ebtree/ebtree.o
  CC      ebtree/eb32sctree.o
  CC      ebtree/eb32tree.o
  CC      ebtree/eb64tree.o
  CC      ebtree/ebmbtree.o
  CC      ebtree/ebsttree.o
  CC      ebtree/ebimtree.o
  CC      ebtree/ebistree.o
  LD      haproxy

...

この設定は、#は/ usr / local / haproxyディレクトリにマウントされます

[root@localhost /usr/local/src/haproxy-2.0.12]#make install PREFIX=/usr/local/haproxy

ます。#/ usr / sbin /システム環境に移動
[ルート@ localhostの/usr/local/src/haproxy-2.0.12]#cp haproxy /usr/sbin/

#haproxyバージョンを確認し
、[ルート@ localhostの/usr/local/src/haproxy-2.0.12]#haproxy -v

HA-Proxy version 2.0.12 2019/12/21 - https://haproxy.org/

#HAProxyスタートアップスクリプトを準備し
ます。[root @ localhostのは/ usr / local / srcに]#cat /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 /var/lib/haproxy/haproxy.pid
ExecReload=/bin/kill -USR2 $MAINPID

[Install]
WantedBy=multi-user.target

#HAコンフィギュレーションファイルの関連付け
mkdir /etc/haproxy
mkdir /var/lib/haproxy
cat /etc/haproxy/haproxy.cfg

global
maxconn 100000
chroot /usr/local/haproxy
stats socket /var/lib/haproxy/haproxy.sock mode 600 level admin
#stats socket /var/lib/haproxy/haproxy.sock1 mode 600 level admin process 1
#stats socket /var/lib/haproxy/haproxy.sock2 mode 600 level admin process 2
#stats socket /var/lib/haproxy/haproxy.sock3 mode 600 level admin process 3
#stats socket /var/lib/haproxy/haproxy.sock4 mode 600 level admin process 4
uid 99
gid 99
daemon
#nbproc 4   #默认单进程启动
#nbthread 4  #可设置为单进程多线程或者多进程单线程,以及针对进程进程cpu绑定
#cpu-map 1 0
#cpu-map 2 1
#cpu-map 3 2
#cpu-map 4 3
pidfile /var/lib/haproxy/haproxy.pid
log 127.0.0.1 local3 info

defaults
option http-keep-alive
option forwardfor
maxconn 100000
mode http
timeout connect 300000ms
timeout client 300000ms
timeout server 300000ms

# listen stats    #启动web监控
#  bind :9009
#  stats enable
#  stats hide-version
#  stats uri /haproxy-status
#  stats realm HAPorxy\Stats\Page
#  stats auth admin:123456
#  #stats refresh 3s
#  stats admin if TRUE

haproxy起動します。
systemctl start harpoxy

haproxyステータスを確認します。
[@ localhostのルートは/ usr / local / srcに]#haproxy -v

HA-Proxy version 2.0.12 2019/12/21 - https://haproxy.org/

注:システムリソースがある場合haproxy.cfgファイルは、chroot環境、pidファイル、ユーザー、グループパラメータを定義していないhaproxy原因は起動できません
、ログファイル/ var / log / messagesに特に参照して、移動します

おすすめ

転載: blog.51cto.com/13989376/2467551