CentOS 7에서 Apache로 Varnish Cache를 설치하는 방법


이 튜토리얼은 다음 OS 버전에 대해 존재합니다.

  • 센트OS 8
  • 센트OS 7

이 페이지에서

  1. 우리가 할 일\n
  2. 전제 조건
  3. 1단계 - CentOS 7에 Apache 설치 및 구성
  4. 2단계 - 포트 8080에서 Apache 구성
  5. 3단계 - CentOS 7에 Varnish 설치
  6. 4단계 - Varnish를 Apache용 리버스 프록시로 구성\n
  7. 5단계 - 방화벽 구성\n
  8. 6단계 - 테스트
  9. 참조

Varnish는 HTTP 캐싱에 중점을 둔 프록시 서버입니다. HTTP 가속기로 설계되었으며 웹 서버 Apache 또는 Nginx의 리버스 프록시 역할을 할 수 있습니다. Varnish는 Wikipedia, The Guardian 및 New York Times를 포함하여 유명하고 트래픽이 많은 웹 사이트에 사용되었습니다.

이 자습서에서는 varnish HTTP 가속기를 Apache 웹 서버의 역방향 프록시로 설치하고 구성하는 방법을 보여줍니다. 실제 웹 서버 Apache는 비표준 HTTP 포트(포트 8080에서 실행)에서 실행됩니다. 그리고 Varnish는 HTTP 포트 80에서 리버스 프록시로 실행됩니다. 이 가이드에서는 CentOS 7 서버를 사용합니다.

우리가 할 일

  1. CentOS 7에 Apache 설치
  2. 포트 8080에서 Apache 구성
  3. CentOS 7에 바니시 설치
  4. Apache용 리버스 프록시로 Varnish 구성\n
  5. 방화벽 구성\n
  6. 테스트

전제 조건

  • CentOS 7 서버
  • 루트 권한\n

1단계 - CentOS 7에 Apache 설치 및 구성

CentOS 7 저장소에서 Apache/httpd 웹 서버를 설치한 다음 포트 8080에서 실행될 서버를 구성합니다.

아래의 yum 명령을 사용하여 Apache/httpd를 설치합니다.

yum -y install httpd

설치가 완료되면 httpd 서비스를 시작하고 아래 명령을 사용하여 시스템 부팅 시 실행되도록 활성화합니다.

systemctl start httpd
systemctl enable httpd

이제 httpd 서비스가 실행 중입니다. 아래와 같이 netstat 또는 curl 명령을 사용하여 확인합니다.

netstat -plntu
curl -I localhost

이것으로 Apache/httpd 웹 서버가 설치되었습니다.

2단계 - 포트 8080에서 Apache 구성

이 단계에서는 포트 8080에서 실행되도록 Apache/httpd 웹 서버를 구성합니다. 이를 위해 먼저 구성 파일 httpd.conf를 편집해야 합니다.

Apache 구성 디렉토리로 이동하여 httpd.conf 파일을 편집하십시오.

cd /etc/httpd/
vim conf/httpd.conf

Listen 라인에서 기본 포트 80을 8080으로 변경합니다.

Listen 8080

저장 및 종료.

이제 구성을 테스트하고 오류가 없는지 확인하십시오. 그런 다음 apache/httpd 서비스를 다시 시작합니다.

apachectl configtest
systemctl restart httpd

이제 netstat를 사용하여 다시 확인하고 웹 서버가 포트 8080에서 실행 중인지 확인하십시오.

netstat -plntu

3단계 - CentOS 7에 바니시 설치

이 단계에서는 Varnish 고성능 HTTP 가속기를 설치합니다. EPEL(Extra Packages for Enterprise Linux) 리포지토리에서 사용할 수 있으므로 Varnish를 설치하기 전에 리포지토리를 설치해야 합니다.

다음 명령을 사용하여 EPEL 저장소를 설치합니다.

yum -y install epel-release

이제 아래 yum 명령을 사용하여 EPEL 저장소에서 Varnish를 설치하십시오.

yum -y install varnish

설치가 완료되면 Varnish를 시작하고 아래의 systemctl 명령을 사용하여 시스템 부팅 시 실행되도록 추가합니다.

systemctl start varnish
systemctl enable varnish

기본적으로 Varnish는 포트 6081 및 6082를 사용합니다. 아래 netstat 명령을 사용하여 확인하십시오.

netstat -plntu

그리고 아래와 같이 기본 광택 포트가 있는지 확인합니다.

4단계 - Varnish를 Apache용 리버스 프록시로 구성

따라서 Varnish가 설치되었으며 이제 Apache 웹 서버의 리버스 프록시로 구성합니다. Varnish는 기본적으로 HTTP 포트 80에서 실행됩니다.

Varnish 구성 디렉토리로 이동하여 default.vcl에서 기본 구성을 편집합니다.

cd /etc/varnish
vim default.vcl

기본 백엔드 섹션을 정의합니다. 우리는 포트 8080에서 실행되는 Apache 웹 서버를 사용하고 있으므로 아래와 같이 구성합니다.

backend default {
    .host = "127.0.0.1";
    .port = "8080";
}

저장 및 종료.

다음으로 HTTP 포트 80으로 실행되도록 Varnish를 구성합니다. Varnish 구성 디렉터리에 있는 varnish.params 파일을 편집합니다.

vim varnish.params

이 파일에서 VARNISH_LISTEN_PORT 줄의 값을 HTTP 포트 80으로 변경합니다.

VARNISH_LISTEN_PORT=80

저장 및 종료.

이제 Varnish를 다시 시작하고 netstat 명령을 사용하여 통계를 확인하십시오.

systemctl restart varnish
netstat -plntu

아래에 표시된 것과 비슷한 결과가 나오는지 확인하십시오.

Varnish HTTP Accelerator가 설치되었으며 이제 Apache 웹 서버의 리버스 프록시 역할을 합니다.

5단계 - 방화벽 구성

이 단계에서는 Firewalld를 설치하고 새 HTTP 및 HTTPS 포트를 엽니다.

다음 yum 명령을 사용하여 Firewalld를 설치합니다.

yum -y install firewalld

이제 서비스를 시작하고 시스템 부팅 시 자동으로 실행되도록 합니다.

systemctl start firewalld
systemctl enable firewalld

그런 다음 아래와 같이 firewalld-cmd 명령을 사용하여 HTTP 및 HTTPS 요청을 위한 새 포트를 엽니다.

firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent

방화벽 구성을 다시 로드합니다.

그게 다야. 방화벽 구성이 완료되었습니다.

6단계 - 테스트

Varnish를 테스트하려면 먼저 다음 curl 명령을 실행합니다.

curl -I hakase-labs.co

그리고 출력에서 다음 스크린샷에 표시된 것과 유사한 HTTP 헤더를 얻는지 확인하십시오.

다음으로 브라우저에서 Varnish를 테스트합니다. 이를 위해 웹 브라우저를 열고 서버 URL 또는 주소를 입력하십시오.

http://hakase-labs.co

아래와 같이 동작하는지 확인합니다.

참고: 403 Forbidden이 표시되면 /var/www/html 디렉토리에 index.html 파일을 생성해야 합니다.

cd /var/www/html/
echo '<h1><center> Varnish- Apache - hakase-labs</center></h1>' > index.html

계속해서 아래 명령을 사용하여 광택 로그를 테스트합니다.

varnishncsa

그리고 당신은 광택에 대한 액세스 로그를 얻을 것입니다.

그게 다야. Varnish HTTP 가속기가 설치되었으며 이제 Apache 웹 서버의 역방향 프록시로 실행됩니다.

참조

  • https://varnish-cache.org/