Keepalived_tengine 는 discuz 부하 균형 과 높 은 사용 가능

3179 단어 tengine
머리말
    위의 블 로그 에 서 는 nginx 가 helh nginx 를check 기능 이 비 즈 니스 버 전에 들 어가 서 커 뮤 니 티 버 전의 nginx 가 부하 균형 을 이 루 고 백 엔 드 의 RS 호스트 에 대해 건강 상 태 를 검사 할 수 없 기 때문에 지금 은 nginx 대신 tengine 을 사용 하려 고 합 니 다.이전 장 VS 호스트 의 nginx 를 tengine 으로 바 꾸 면 됩 니 다.
설정:
Host VS1
nginx 마 운 트 해제, tengine 설치
# yum remove -y nginx
# yum groupinstall -y "Development tools" "Server Platform Development"
# yum install -y pcre-devel
# wget http://tengine.taobao.org/download/tengine-2.0.3.tar.gz
# tar -xf tengine-2.0.3.tar.gz
# cd tengine-2.0.3
# ./configure
# make && make install
# echo "PATH=/usr/local/nginx/sbin/:$PATH" > /etc/profile.d/nginx.sh
# exec bash

생 성 sorry서버 페이지 파일
# cp /usr/local/nginx/html/index.html{,.bak}
# echo "     ,     ." > /usr/local/nginx/html/index.html

tengine 프로필 수정
# vim /usr/local/nginx/conf/nginx.conf
http{
    ...
    #      ,    RS   .
    upstream backend {
        server 10.0.0.101 weight=1;
        server 10.0.0.102 weight=1;
        # sorry_server
        server 10.0.0.111:8080 backup;
        server 10.0.0.112:8080 backup;

        #     
        check interval=3000 rise=1 fall=3 timeout=1000 type=http;
        check_http_send "HEAD / HTTP/1.0\r
\r
";         check_http_expect_alive http_2xx http_3xx;     }     server {         listen 80;         server_name localhost;         #  nginx php RS Host backend.         # php RS , / .         #  php http://backend/xxxx.gif url, .         #  nginx Host backend , 127.0.0.1.         set $my_host $http_host;         if ($http_host = "backend") {             set $my_host "127.0.0.1";         }         location / {             proxy_pass   http://backend;             proxy_set_header Host $my_host;         }     }     server {         listen 8080;         server_name localhost;         charset utf-8;         root   /usr/local/nginx/html;         index  index.html index.htm;         # sorry_server ,  .         location ~ .* {             error_page  404  /;         }     }

시작 서비스:
# nginx -t
the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
configuration file /usr/local/nginx/conf/nginx.conf test is successful
# nginx

Host VS2 같은 설정
테스트:
    HostRS 1 과 HostRS 2 를 번갈아 닫 고 RS 호스트 가 다운 되 는 상황 을 모 의 하면 사용자 가 정상적으로 접근 할 수 있 음 을 알 수 있 습 니 다. 이 는 사용자 가 정상 적 인 RS 호스트 로 예약 되 었 음 을 설명 합 니 다.
# tail /usr/local/nginx/logs/error.log
2016/05/14 14:57:37 [error] 26112#0: check time out with peer: 10.0.0.101:80 
2016/05/14 14:57:41 [error] 26112#0: check time out with peer: 10.0.0.101:80 
2016/05/14 14:57:46 [error] 26112#0: check time out with peer: 10.0.0.101:80 
2016/05/14 14:57:50 [error] 26112#0: check time out with peer: 10.0.0.101:80 
2016/05/14 14:57:55 [error] 26112#0: check time out with peer: 10.0.0.101:80 
2016/05/14 14:57:59 [error] 26112#0: check time out with peer: 10.0.0.101:80

RS1 과 RS2 를 동시에 닫 으 면 사용자 서비스 유지 보 수 를 알려 줍 니 다.

좋은 웹페이지 즐겨찾기