Linux 플랫폼 에 varnish 고성능 캐 시 서버 배치 (1)

[본 문서 에 소 개 된 내용 은 회사 테스트 / 생산 에서 흔히 볼 수 있 는 varnish 환경 배치 에 적 용 됩 니 다]
1: varnish 배치 전 준비:
1.1 관련 소프트웨어 및 시스템, 웹 서비스
시스템 요구 사항: Centos 6 (이상) (64 비트)
관련 미들웨어: varnish - 4.0.2
1.2 관련 시스템 의존 패키지 설치 검사 준비
1.2.1 시스템 자체 nginx 설치 여부 확인
rpm -qa | grep varnish

설치 되 어 있 으 면 다음 명령 으로 프로그램 을 마 운 트 해제 하 십시오. 
yum remove varnish -y

1.2.2 컴 파일 nginx 설치 에 필요 한 의존 패키지
 yum install libtool ncurses-devel pcre-devel ibedit-devel pkgconfig python-docutils python-sphinx automake autoconf  -y

1.2.3 관련 웹 서비스 설치
   Apache,nginx,tomcat   ,    web     ,   nginx web    :8080

2. varnish 배치 설치
2.1 varnish 설치 패키지 다운로드
varnish 라 는 홈 페이지 가 있 으 면:https://www.varnish-cache.org/releases해당 하 는 varnish 버 전 을 선택 하 십시오. 이 문서 의 버 전 은 varnish 4.0.2 입 니 다. 
cd /usr/local/src
wget https://repo.varnish-cache.org/source/varnish-4.0.2.tar.gz

2.2 컴 파일 설치 varnish
cd /usr/local/src
tar zxvf varnish-4.0.2.tar.gz
./configure CPPFLAGS="-I$PATH_TO_LIBEDIT/include" LDFLAGS="-L$PATH_TO_LIBEDIT/lib" \
--prefix=/usr/local/varnish4.0.2 
make && make install

2.3 varnish 시작 스 크 립 트 설정
echo "/usr/local/varnish4.0.2/sbin/varnishd -P /var/run/varnish.pid -f /usr/local/varnish4.0.2/etc/default.vcl -s malloc,1G -T 127.0.0.1:2000 -a 0.0.0.0:80" > /usr/local/varnish4.0.2/sbin/varnishd.sh 
2.4 varnish 를 켜 는 서비스 로 시작 하고 시스템 서비스 에 가입 한다.
2.4.1 편집 / etc / init. d / varnishd
vim /etc/init.d/varnishd

2.4.2 / etc / init. d / varnishd 에 다음 내용 추가
#!/bin/sh
#chkconfig:345 85 15 
#description: varnish cache server
# varnish
# Copyright (C) 2001-2014 varnish cache
#
SERVICE="varnish server"
DAEMON=/usr/local/varnish4.0.2/sbin/varnishd.sh
PIDFILE=/var/run/varnish.pid

case $1 in
  'start')
    if [ -x ${DAEMON} ]
    then
      $DAEMON
      # Error checking here would be good...
      echo "${SERVICE} started success ! "
    else
      echo "Can't find file ${DAEMON}."
      echo "${SERVICE} NOT started."
    fi
  ;;
  'stop')
    if [ -s ${PIDFILE} ]
    then
      if kill `cat ${PIDFILE}` >/dev/null 2>&1
      then
        echo "${SERVICE} shutdown success !"
        rm -f ${PIDFILE}
      fi
    fi
  ;;
  'restart')
    $0 stop
    sleep 10
    $0 start
  ;;
  *)
    echo "Usage: $0 start|stop|restart"
    ;;
esac

2.4.3 편집 / usr / local / varnish 4.0.2 / etc / default. vcl 다음 내용 추가
vcl 4.0;
backend webserver {
    .host = "127.0.0.1";
    .port = "8080";         //     web server
    .connect_timeout = 4s;  
    .first_byte_timeout = 5s;  
    .between_bytes_timeout = 20s;  
}

2.4.4 varnishd 서비스 시작
service varnishd start

3. varnish 검증 테스트
웹 서비스 시작
service nginx start

시스템 자체 명령 curl - I localhost 사용 하기 다음 과 같다.
HTTP/1.1 200 OK
Server: nginx/1.8.0
Date: Mon, 04 Jan 2016 07:50:09 GMT
Content-Type: text/html
Last-Modified: Mon, 31 Aug 2015 03:55:55 GMT
ETag: "55e3d04b-264"
X-Varnish: 112 131182
Age: 80
Via: 1.1 varnish-v4
Content-Length: 612
Connection: keep-alive

본 고 는 위의 빨간색 부분 과 같이 X - varnish 뒤에 두 개의 데이터 가 나 왔 을 때 캐 시가 성공 했다 는 것 을 설명 합 니 다. 이때 우 리 는 웹 서 비 스 를 끄 고 데 이 터 는 varnish 캐 시 에서 읽 습 니 다. 다음 과 같 습 니 다.
웹 서비스 닫 기
service nginx stop

다시 curl - I localhost 캐 시 에 명중 하면 다음 과 같 습 니 다.
HTTP/1.1 200 OK
Server: nginx/1.8.0
Date: Mon, 04 Jan 2016 07:53:47 GMT
Content-Type: text/html
Last-Modified: Mon, 31 Aug 2015 03:55:55 GMT
ETag: "55e3d04b-264"
X-Varnish: 110 131182
Age: 8
Via: 1.1 varnish-v4
Content-Length: 612
Connection: keep-alive

캐 시 에서 명중 하지 않 았 을 때 다음 과 같은 알림 이 나타 납 니 다 (명중 캐 시 가 없 으 면 X - varnish 뒤의 숫자 는 단일 그룹 숫자 입 니 다).
HTTP/1.1 503 Backend fetch failed
Date: Mon, 04 Jan 2016 07:55:59 GMT
Server: Varnish
Content-Type: text/html; charset=utf-8
Retry-After: 5
X-Varnish: 98457
Age: 0
Via: 1.1 varnish-v4
Content-Length: 282
Connection: keep-alive

이로써 전체 varnish 의 배치 와 설 치 는 기본적으로 OK 입 니 다.

좋은 웹페이지 즐겨찾기