반응형
우분투 24.04에서 최신 버전의 HAProxy를 설치하는 방법
소스 코드 컴파일 설치
필수 빌드 도구 설치
sudo apt update
sudo apt install -y build-essential libssl-dev zlib1g-dev libpcre3-dev \
libsystemd-dev liblua5.3-dev libatomic-ops-dev make gcc g++ curl
소스 코드 다운로드 및 컴파일
최신 버전 다운로드
wget https://www.haproxy.org/download/3.2/src/haproxy-3.2.4.tar.gz
tar -xzf haproxy-3.2.4.tar.gz
cd haproxy-3.2.4
컴파일
make -j"$(nproc)" TARGET=linux-glibc USE_OPENSSL=1 USE_ZLIB=1 USE_PCRE=1
설치
sudo make install
haproxy 사용자 및 그룹 생성
sudo groupadd haproxy
sudo useradd -g haproxy -s /bin/false -d /nonexistent -r haproxy
디렉토리 생성 및 권한 설정
로그 디렉토리 생성
sudo mkdir -p /var/log/haproxy
sudo chown haproxy:haproxy /var/log/haproxy
chroot 디렉토리 생성
sudo mkdir -p /var/lib/haproxy
sudo chown haproxy:haproxy /var/lib/haproxy
런타임 디렉토리 생성
sudo mkdir -p /run/haproxy
sudo chown haproxy:haproxy /run/haproxy
systemd 서비스 파일 생성
sudo vim /etc/systemd/system/haproxy.service
[Unit]
Description=HAProxy Load Balancer
Documentation=man:haproxy(1)
Documentation=file:/usr/share/doc/haproxy/configuration.txt.gz
After=network-online.target rsyslog.service
Wants=network-online.target
[Service]
EnvironmentFile=-/etc/default/haproxy
EnvironmentFile=-/etc/sysconfig/haproxy
BindReadOnlyPaths=/dev/log:/var/lib/haproxy/dev/log
Environment="CONFIG=/etc/haproxy/haproxy.cfg" "PIDFILE=/run/haproxy/haproxy.pid" "EXTRAOPTS=-S /run/haproxy-master.sock"
ExecStart=/usr/local/sbin/haproxy -Ws -f $CONFIG -p $PIDFILE $EXTRAOPTS
ExecReload=/usr/local/sbin/haproxy -Ws -f $CONFIG -c -q $EXTRAOPTS
ExecReload=/bin/kill -USR2 $MAINPID
KillMode=mixed
Restart=always
SuccessExitStatus=143
Type=notify
[Install]
WantedBy=multi-user.target
systemd 데몬 재로드
sudo systemctl daemon-reload
설치 확인 및 서비스 관리
버전 확인
haproxy -v
oxy version 3.2.4-98813a1 2025/08/13 - https://haproxy.org/
Status: long-term supported branch - will stop receiving fixes around Q2 2030.
Known bugs: http://www.haproxy.org/bugs/bugs-3.2.4.html
Running on: Linux 6.8.0-79-generic #79-Ubuntu SMP PREEMPT_DYNAMIC Tue Aug 12 14:42:46 UTC 2025 x86_64
테스트 설정
sudo vim /etc/haproxy/haproxy.cfg
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin
stats timeout 30s
user haproxy
group haproxy
daemon
# Default SSL material locations
ca-base /etc/ssl/certs
crt-base /etc/ssl/private
# See: https://ssl-config.mozilla.org/#server=haproxy&server-version=2.0.3&config=intermediate
ssl-default-bind-ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
ssl-default-bind-ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
ssl-default-bind-options ssl-min-ver TLSv1.2 no-tls-tickets
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000
errorfile 400 /etc/haproxy/errors/400.http
errorfile 403 /etc/haproxy/errors/403.http
errorfile 408 /etc/haproxy/errors/408.http
errorfile 500 /etc/haproxy/errors/500.http
errorfile 502 /etc/haproxy/errors/502.http
errorfile 503 /etc/haproxy/errors/503.http
errorfile 504 /etc/haproxy/errors/504.http
설정 파일 검증
sudo haproxy -c -f /etc/haproxy/haproxy.cfg
서비스 활성화 및 서비스 시작
sudo systemctl enable --now haproxy
상태 확인
sudo systemctl status haproxy
728x90
통계 페이지 설정
sudo vim /etc/haproxy/haproxy.cfg
listen stats
bind *:9999
mode http
stats enable
stats uri /stats
stats refresh 10s
stats auth admin:password123
stats hide-version
stats show-legends
stats show-desc HAProxy\ Statistics
stats show-node
설정 파일 검증
sudo haproxy -c -f /etc/haproxy/haproxy.cfg
HAProxy 재시작
sudo systemctl restart haproxy
통계 페이지 접속
ID: admin, Password: password123
http://192.168.10.101:9999/stats
우분투24
728x90
반응형
'리눅스' 카테고리의 다른 글
nmap 명령어를 사용해 서비스 버전과 운영체제를 확인하는 방법 (0) | 2025.09.05 |
---|---|
Redis Cluster 모니터링를 구축하는 방법 (2) | 2025.08.27 |
우분투 24.04에서 Redis Cluster를 구성하는 방법 (0) | 2025.08.27 |
Kubernetes Cluster 구축하는 방법 (0) | 2025.08.25 |
VMware ESXi의 평가판 라이선스를 갱신하는 방법 (0) | 2025.08.25 |