스마트웹앱콘텐츠전문가/프록시 서버

[HAPROXY] 설치 관련

9D4U 2019. 12. 5. 14:56
728x90
반응형

HA프록시는 

여러 서버에 요청을 분산시키는 TCP 및 HTTP 기반 응용 프로그램 및

네트워크 스위치에서 제공하는 L4, L7의 기능 및 로드 밸런싱 기능 일부 제공

한다고 합니다.

 

------------------------------------------------------------------------------------------

로드 배런싱 환경

 

HAPROXY Server - 192.168.0.56(centos7)

Mysql(MariaDB)DB Server1 - 192.168.0.32(centos7)

Mysql(MariaDB)DB Server2 - 192.168.0.69(centos7)

------------------------------------------------------------------------------------------

 

[HAPROXY 설치]

설치하는 방법은 크게 두가지 방법이 있습니다.

- yum을 이용한 방법(yum install haproxy)

- 다운로드 파일을 직접 가져오는 방법(wget ~)

 

여기서는 다운로드 파일을 직접 가져와서 설치하는 방법을 설명하겠습니다.

 

1. http://www.haproxy.org/ 사이트에서 HAPROXY 다운로드링크 주소 복사합니다.

  (다운로드링크 주소 : http://www.haproxy.org/download/1.8/src/haproxy-1.8.14.tar.gz)

2. ~]# wget http://www.haproxy.org/download/1.8/src/haproxy-1.8.14.tar.gz

3. ~]# tar -xvzf haproxy-1.8.14.tar.gz

4. ~]# uname -r

을 통해서, 시스템 정보를 확인.

(예시 : 3.10.0-1062.1.2.el7.x86_64)

5. 이전에 확인한 시스템 정보를 가지고, vi haproxy-1.8.14/README 에서 TARGET 값 확인

(예시 : - linux2628   for Linux 2.6.28, 3.x, and above (enables splice and tproxy) )

6. 압축푼 후 생성된 HAPROXY 디렉토리 접근 : cd haproxy-1.8.14

7. TARGET값 확인 후, make 명령어 실행(실행 후 동작이 끝나는 데 시간 소요) :

   make TARGET=linux2628 USE_OPENSSL=1

+ 컴파일 진행중 오류가 발생한다면 HAProxy과 의존성이 있는 라이브러리가설치가되어있지 않아서 발생할 경우가 많음(yum install openssl-devel -> 다시 make TARGET~ 실행)

○ gcc: 명령을 찾지 못했음 -> yum install gcc

8. make install

실행 결과 예시 :

install -d "/usr/local/sbin"
install haproxy  "/usr/local/sbin"
install -d "/usr/local/share/man"/man1
install -m 644 doc/haproxy.1 "/usr/local/share/man"/man1
install -d "/usr/local/doc/haproxy"
for x in configuration management architecture peers-v2.0 cookie-options lua WURFL-device-detection proxy-protocol linux-syn-cookies network-namespaces DeviceAtlas-device-detection 51Degrees-device-detection netscaler-client-ip-insertion-protocol peers close-options SPOE intro; do \
install -m 644 doc/$x.txt "/usr/local/doc/haproxy" ; \
done

9. HAPROXY 관련 디렉토리 확인 : whereis haproxy

10. HAPROXY 버전 확인 : haproxy -version

 

[서비스 등록]

1. /etc/init.d 디렉토리는 서비스 데몬 제어파일을 저장하는 디렉토리 이므로, 서비스 등록을 위해 init.d 디렉토리 내에

haproxy-1.8.14/example/haproxy.init 파일을 복사한 후 퍼미션을 변경해주어야 합니다.

 

~]# cp examples/haproxy.init /etc/init.d/haproxy

~]# chmod 755 /etc/init.d/haproxy

 

[명령어 등록(서비스 하기 위함)]

1. /user/sbin 디렉토리는 명령어가 저장되는 디렉토리이므로 haproxy 명령어를 사용할 수 있도록

   /usr/sbin 디렉토리에 링크를 설정

~]# ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy

 

2. 해당 서비스(haproxy)를 사용할 수 있는 개별적인 사용자 등록

~]# useradd -r haproxy

 

[서비스 설정 값들을 적용시키기 위해 서버 재시작 진행]

~]# reboot

~]# systemctl status haproxy <- 서비스 확인

 

[부팅할 때, 자동 실행 설정]

~]# systemctl enable haproxy

 

[사용할 포트 열기 및 방화벽 설정]

~]# systemctl status firewalld <- 방화벽 서비스(데몬) 사용 유무 조회

~]# firewall-cmd --zone=public --permanent --add-port=8001/tcp <- 방화벽 포트 허용 예시, 포트 8001/tcp

~]# firewall-cmd --reload

~]# firewall-cmd --zone=public --ilst-all <- 리스트 보기

 

[보안 관련 설정]

~]# setsebool -P haproxy_connect_any 1

728x90