semtax의 개발 일지

오픈소스 로드밸런서 haproxy 본문

개발/팁

오픈소스 로드밸런서 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
반응형
Comments