HAProxy 설치 및 배치

더 읽 기
원문의 출처:http://blog.ehomy.net/archives/153
1.haproxy 설치
    yum install haproxy 를 사용 하여 한 단계 설치 합 니 다.간단 합 니 다.
2.설정 설명
  
#########################################################################
# HAProxy     
#########################################################################
 
global
#      syslog    (  udp,      514)
log 127.0.0.1 local0 # info [err warning info debug]
chroot /home/user/haproxy
 
#            
maxconn 65535
 
#         ,         ,         ,     ,            -D
# daemon
#              ,        ,       ,  daemon    
# nbproc 1
 
#   debug    , daemon      ,            -d
# debug
pidfile /home/user/haproxy/logs/haproxy.pid    # not work
 
defaults
#             ,           
option redispatch
#                    
retries 2
#          
balance roundrobin
 
#       
option dontlognull
 
#                  
timeout connect 5000ms
#             
timeout client 1800000ms
#              
timeout server 1800000ms
 
# Enable the sending of TCP keepalive packets on both sides, clients and servers
# NOTE:     CPU      ,        ,         
#option tcpka
 
##############################      ##################################
 
listen admin_stat
#     
bind *:8011
# http 7   
mode http
option httplog
log global
#           
stats refresh 30s
#     URL
stats uri /admin?stats
#             
stats realm Haproxy\ Statistics
#             
stats auth admin:admin
#        HAProxy     
stats hide-version
 
###########################TCP       ################################
 
listen  tcp-in
bind *:2211
mode tcp
#       
option tcplog
log global
 
#      
# weight  --         
# check --              
# inter  --                 ,     (ms),    2000(ms)
# rise  --                ,               ,    2
# fall  --               ,          ,    3
# maxconn  --                    
server localhost 0.0.0.0:2233 weight 3 check inter 2000 rise 2 fall 3
server 192.168.1.100 192.168.1.100:2233 weight 3 check inter 2000 rise 2 fall 3
server 192.168.1.101 192.168.1.101:2233 weight 3 check inter 2000 rise 2 fall 3
 
#########################HTTP       ################################
 
listen  http-in
bind *:2212
mode http
option httplog
log global
 
#         
#option httpchk OPTIONS * HTTP/1.1\r
Host:\ www #option smtpchk # server localhost 0.0.0.0:2234 weight 3 check inter 2000 rise 2 fall 3 server 192.168.1.100 192.168.1.100:2234 weight 3 check inter 2000 rise 2 fall 3 server 192.168.1.101 192.168.1.101:2234 weight 3 check inter 2000 rise 2 fall 3

3.로그 의 출력 문제
   설명 에 따 르 면 haproxy 로그 출력 은 syslogd,syslog-ng 등 시스템 로그 프로그램 을 사용 합 니 다.이 두 로그 시스템 의 사용 에 있어 서 주요 한 차이 점 은 설정 파일 의 형식 이 다르다 는 것 입 니 다.syslog-ng 은 syslog 의 업그레이드 버 전 으로 성능 과 기능 성 면 에서 syslog 보다 우수 하기 때문에 syslog-ng 을 설정 하여 haproxy 로 그 를 전송 하 는 것 을 소개 합 니 다.
내 기계 환경,예전 과 같이:SUSE Linux Enterprise Server 11(x8664),
로그 프로그램 은 기본적으로 syslog-ng 입 니 다.
I.시스템 로그 서비스의 프로필/etc/sysconfig/syslog 를 편집 하고 SYSLOG 보기DAEMON 의 값 입 니 다.이 값 은 사용 할 로그 서비스 프로그램 을 지정 합 니 다.기본 값 은 비어 있 습 니 다.자동 검색 을 표시 합 니 다.확실 하지 않 으 면 SYSLOG 를 명시 적 으로 지정 할 수 있 습 니 다.DAEMON = “syslog-ng”。
II.syslog-ng 의 프로필/etc/syslog-ng/syslog-ng.conf 를 편집 하고 끝 에 다음 코드 를 추가 합 니 다.

# for supporting the logging of "HAProxy"
 
source my_src {
    #
    # process log messages from network:
    #
    udp(ip("0.0.0.0") port(514));
};
 
filter f_local0 { facility(local0); };
filter custom { program("haproxy"); };
 
destination d_haproxy { file("/var/log/haproxy.log"); };
 
log { source(my_src); filter(f_local0); destination(d_haproxy); };
#log { source(my_src); filter(custom); destination(d_haproxy); };    # OK, work too

주:로그 출력 을/var/log 디 렉 터 리 로 지정 하 였 습 니 다.정상적으로 작 동 합 니 다./home 등 다른 하위 디 렉 터 리 로 지정 하면 실패 합 니 다.구체 적 인 원인 은 알려 지지 않 았 습 니 다.또한,haproxy 로 그 는 이 방법 을 통 해 로그 서버 에 보 내 통일 적 으로 처리 할 수 있 으 며,syslog-ng 관련 문 서 를 구체 적 으로 볼 수 있 습 니 다.
III.syslog 서 비 스 를 다시 시작 하려 면 다음 명령 을 사용 하 십시오.
service syslog restart

IV.haproxy 설정 파일 을 편집 합 니 다.haproxy.cfg 라 고 가정 합 니 다.
로그 기록 이 필요 한 모듈(예 를 들 어 global,default 등)에 다음 코드 를 추가 합 니 다.

#      syslog    (  udp,      514)
log 127.0.0.1 local0

주:local 0 은 두 프로필 에서 일치 합 니 다.
로 그 를 살 펴 보 겠 습 니 다.
tail -f /var/log/haproxy.log

주:기타 해결 해 야 할 로그 관련 문제
a.haproxy 현재 로 그 는 모두 한 파일 에 기록 되 어 있 으 며 날짜 에 따라 다른 파일 로 나 누 어 저장 하 는 것 을 고려 합 니 다.
b.로 그 는/var/log/를 제외 한 다른 디 렉 터 리 로 출력 할 수 없습니다.
이 프로필 에 서 는 frontend 와 backend 대신 listen 블록 을 사 용 했 습 니 다.listen 블록 은 완전한 프 록 시 프로 세 스 를 정의 하 는 동시에 전단 의 감청 소켓 과 백 엔 드 의 서버 설명 을 포함 하고 있 습 니 다.이 측면 에서 볼 때 frontend 와 backend 를 사용 하 는 것 은 조리 가 있어 야 할 것 같 습 니 다.그러나 테스트 결과 listen 블록 을 사용 할 때 출력 로 그 는 배경 서버 의 건강 상 태 를 기록 하고 frontend 와 backend 를 사용 하면 그렇지 않 습 니 다.
건강 검진 에 대해 서 는 오픈 을 추천 합 니 다.그렇지 않 으 면 배경 서버 가 떨 어 졌 을 때 haproxy 는 다음 사용 가능 한 서버 로 연결 을 바 꾸 지 않 습 니 다.
위 설정 의 통계 페이지 url 에 따라 접근 할 수 있 습 니 다:http://host_통계 페이지 에 들 어 갑 니 다.주:포트 번 호 는 설정 한 사전 http 포트 입 니 다.

좋은 웹페이지 즐겨찾기