개발/팁
오픈소스 로드밸런서 haproxy
semtax
2020. 2. 21. 21:12
반응형
개요
이번 포스팅에서는 로드밸런싱을 해주는 haproxy에 대해서 알아 보고, 설치를 해보도록 하겠다.
haproxy는 오픈소스로 풀려있는 로드밸런서이다.
사실 로드밸런서들은 다른 대체품들도 많기는 하지만, 오픈소스이고 국내에는 잘 안알려진거 같아서 이번기회에 포스팅을 하고자 한다.
컴파일 및 빌드 방법
1. 컴파일 및 빌드 의존성 환경 구축
먼저 컴파일 및 빌드에 필요한 패키지 들을 아래와 같은 명령어를 이용해 다운 받는다.
sudo yum install gcc
sudo yum install openssl-devel
sudo yum install readline-devel
그런 뒤 빌드를 수행할 작업 폴더를 아래와 같이 생성해주고 해당 폴더로 이동한다.
mkdir haproxy_work
cd haproxy_work
2. Haproxy 코드 및 라이브러리 코드 다운로드
다음으로는, 빌드에 필요한 lua 라이브러리 소스코드들을 아래와 같이 다운 받고 빌드 해준다.
wget http://www.lua.org/ftp/lua-5.3.5.tar.gz
tar zxf lua-5.3.5.tar.gz
cd lua-5.3.5
make linux
그리고, 아래와 같이 haproxy 소스코드를 다운로드 받고 압축을 풀어준다.
wget http://www.haproxy.org/download/1.6/src/haproxy-1.6.15.tar.gz
tar zxf haproxy-1.6.15.tar.gz
그리고 아래 명령어를 이용해 해당 폴더로 이동한다.
cd haproxy-1.6.15
3. 빌드
아래와 같이 빌드를 해주면 된다
make -j 8 TARGET=linux-glibc USE_OPENSSL=1 USE_DL=1 USE_ZLIB=1 USE_LUA=1 LUA_INC=~/haproxy_work/lua-5.3.5/src LUA_LIB=~/haproxy_work/lua-5.3.5/src =1 USE_SYSTEMD=1
각 옵션에 대한 설명은 아래와 같다.
옵션 | 설명 |
---|---|
TARGET | 빌드할때 사용할 glibc 지정 |
USE_OPENSSL | openssl 사용여부 |
USE_DL | dlmalloc 사용 여부 |
USE_ZLIB | Zlib 사용여부 |
USE_LUA | LUA 사용 여부 |
LUA_INC | LUA 소스코드 경로 지정(헤더 파일 경로) |
LUA_LIB | LUA 소스코드 경로 지정(소스 파일 경로) |
USE_PCRE | PCRE 소스코드 경로 지정 |
USE_SYSTEMD | systemd 사용 |
이 외에도 다양한 옵션들이 존재한다.
4. 설치
설치방법은 빌드한 폴더 에서 아래와 같이 해주면 된다.
make install
반응형