컴 파일 설치 HAProxy for Ubuntu 1804
OS:Ubuntu1804
haproxy: http://www.haproxy.org/download/2.0/src/haproxy-2.0.4.tar.gz
lua:http://www.lua.org/ftp/lua-5.3.5.tar.gz
IP:192.168.7.182
설치 절차
1. HAProxy
# apt install make gcc build-essential libssl-dev zlib1g-dev libpcre3 libpcre3-dev libsystemd-dev libreadline-dev -y
2. lua, HAProxy 。
:HAProxy lua 5.3
2.1 lua
# wget -P /usr/local/src/ http://www.lua.org/ftp/lua-5.3.5.tar.gz
# cd /usr/local/src/
# tar xf lua-5.3.5.tar.gz
# cd lua-5.3.5/src/
# make linux
2.2
# ./lua -v
Lua 5.3.5 Copyright (C) 1994-2018 Lua.org, PUC-Rio
3. haproxy
3.1
# cd /usr/local/src/
# tar xf haproxy-2.0.4.tar.gz
# cd haproxy-2.0.4
# make -j `lscpu |awk 'NR==4{print $2}'` 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=/apps/haproxy && make install PREFIX=/apps/haproxy
3.2
# ./haproxy -v
HA-Proxy version 2.0.4 2019/08/06 - https://haproxy.org/
4. haproxy
# cat > /lib/systemd/system/haproxy.service << EOF
[Unit]
Description=HAProxy Load Balancer
After=syslog.target network.target
[Service]
ExecStartPre=/apps/haproxy/sbin/haproxy -f /etc/haproxy/haproxy.cfg -c
ExecStart=/apps/haproxy/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /var/lib/haproxy/haproxy.pid
ExecReload=/bin/kill -USR2 \$MAINPID
[Install]
WantedBy=multi-user.target
EOF
5. /etc/haproxy/haproxy.cfg
# mkdir /etc/haproxy
# cat > /etc/haproxy/haproxy.cfg << EOF
global
maxconn 100000
chroot /usr/local/haproxy
stats socket /var/lib/haproxy/haproxy.sock mode 600 level admin
uid 99
gid 99
daemon
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 300s
timeout client 300s
timeout server 300s
listen stats
bind :9009
stats enable
stats uri /status
stats auth admin:123456
stats realm HAPorxy\ Stats\ Page
EOF
6.
# mkdir /var/lib/haproxy
# mkdir /usr/local/haproxy
# chown 99.99 /var/lib/haproxy/ -R
7. haproxy
# systemctl enable --now haproxy
# systemctl status haproxy
● haproxy.service - HAProxy Load Balancer
Loaded: loaded (/lib/systemd/system/haproxy.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2020-01-12 15:18:00 CST; 11min ago
Process: 9898 ExecStartPre=/apps/haproxy/sbin/haproxy -f /etc/haproxy/haproxy.cfg -c (code=exited, status=0/SUCCESS)
Main PID: 9901 (haproxy)
Tasks: 3 (limit: 2290)
CGroup: /system.slice/haproxy.service
├─9901 /apps/haproxy/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /var/lib/haproxy/haproxy.pid
└─9911 /apps/haproxy/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /var/lib/haproxy/haproxy.pid
Jan 12 15:18:00 ubuntu1804-02 systemd[1]: Starting HAProxy Load Balancer...
Jan 12 15:18:00 ubuntu1804-02 haproxy[9898]: Configuration file is valid
Jan 12 15:18:00 ubuntu1804-02 systemd[1]: Started HAProxy Load Balancer.
Jan 12 15:18:00 ubuntu1804-02 haproxy[9901]: [NOTICE] 011/151800 (9901) : New worker #1 (9911) forked
8.
닥 친 잘못 보고 및 해결 방법
lua 관련 컴 파일
lua.c:82:10:치 명 적 인 오류:readline/readline.h:그런 파일 이나 디렉토리 가 없습니다
# apt install libreadline-dev -y
haproxy 관련 컴 파일
오류 보고 include/common/regex.h:31:10:치 명 적 인 오류:pcre.h:그런 파일 이나 디렉토리 가 없습니다
# apt install libpcre3-dev -y
오류 보고 include/common/openssl-compat.h:5:10:치 명 적 인 오류:openssl/bn.h:그런 파일 이나 디렉토리 가 없습니다
# apt install libssl-dev -y
오류 보고 include/types/compression.h:32:10:치 명 적 인 오류:zlib.h:그런 파일 이나 디렉토리 가 없습니다
# apt install zlib1g-dev -y
src/haproxy.c:72:10:치 명 적 인 오류:systemd/sd-daemon.h:그런 파일 이나 디렉토리 가 없습니다.
# apt install libsystemd-dev -y