웹사이트 검색

Debian 및 Ubuntu에 Apache용 Varnish Cache 5.2 설치


Varnish Cache(Varnish라고도 함)는 현대적인 디자인을 갖춘 오픈 소스 고성능 HTTP 가속기입니다. 클라이언트가 요청할 때 동일한 웹 페이지를 반복해서 생성하는 데 웹 서버 리소스가 낭비되지 않도록 캐시를 메모리에 저장합니다.

웹 서버 앞에서 실행되도록 구성하여 훨씬 더 빠른 방법으로 페이지를 제공함으로써 웹 사이트를 빠르게 로드할 수 있습니다. 백엔드 상태 확인, URL 재작성, "죽은" 백엔드의 적절한 처리를 통한 로드 밸런싱을 지원하고 ESI(Edge Side Contains)에 대한 부분 지원을 제공합니다.

Varnish Cache에 관한 기사 시리즈에서 우리는 CentOS 7 시스템에서 Nginx용 Varnish와 Apache 웹 서버용 Varnish를 설정하는 방법을 보여주었습니다.

이 기사에서는 Debian 및 Ubuntu 시스템에서 Apache HTTP 서버의 프런트 엔드로 Varnish Cache 5.2를 설치하고 구성하는 방법을 설명합니다.

요구사항:

  1. LAMP Stack이 설치된 Ubuntu 시스템
  2. LAMP Stack이 설치된 Debian 시스템
  3. 고정 IP 주소를 사용하는 Debian/Ubuntu 시스템

1단계: Debian 및 Ubuntu에 Varnish Cache 설치

1. 다행히 최신 버전의 Varnish Cache 5(즉, 작성 당시에는 5.2)용으로 사전 컴파일된 패키지가 있으므로 아래와 같이 시스템에 공식 Varnish 저장소를 추가해야 합니다.

curl -L https://packagecloud.io/varnishcache/varnish5/gpgkey | sudo apt-key add -

중요: Debian을 사용하는 경우 공식 Debian 저장소를 확인하기 위해 debian-archive-keyring 패키지를 설치하세요. .

sudo apt-get install debian-archive-keyring

2. 그런 다음 아래 저장소 구성이 포함된 /etc/apt/sources.list.d/varnishcache_varnish5.list라는 파일을 만듭니다. ubuntuxenial을 Linux 배포판 및 버전으로 바꾸십시오.

deb https://packagecloud.io/varnishcache/varnish5/ubuntu/ xenial main  
deb-src https://packagecloud.io/varnishcache/varnish5/ubuntu/ xenial  main

3. 다음으로, 다음 명령을 사용하여 소프트웨어 패키지 저장소를 업데이트하고 바니시 캐시를 설치합니다.

sudo apt update
sudo apt install varnish

4. Varnish Cache를 설치한 후 기본 구성 파일은 /etc/varnish/ 디렉토리에 설치됩니다.

  • /etc/default/varnish – varnish 환경 구성 파일.
  • /etc/varnish/default.vcl – 기본 광택 구성 파일로, VCL(Vanish 구성 언어)을 사용하여 작성됩니다.
  • /etc/varnish/secret – 바니시 비밀 파일.

Varnish 설치가 성공했는지 확인하려면 다음 명령을 실행하여 버전을 확인하세요.

varnishd -V

2단계: Varnish 캐시와 함께 작동하도록 Apache 구성

5. 이제 Varnish Cache와 작동하도록 Apache를 구성해야 합니다. 기본적으로 Apache는 포트 80에서 수신 대기하므로 Varnish 캐싱 뒤에서 실행되도록 하려면 기본 Apache 포트를 8080으로 변경해야 합니다.

따라서 Apache 포트 구성 파일 /etc/apache2/ports.conf를 열고 listen 80 줄을 찾은 다음 listen 8080으로 변경하세요.

또는 다음과 같이 sed 명령을 실행하여 포트 808080으로 변경하세요.

sudo sed -i "s/Listen 80/Listen 8080/" /etc/apache2/ports.conf

6. /etc/apache2/sites-available/에 있는 가상 호스트 파일도 변경해야 합니다.

sudo vi /etc/apache2/sites-available/000-default.conf

포트 번호를 8080으로 변경합니다.

<VirtualHost *:8080>
	#virtual host configs here
</VirtualHost>

7. systemd를 사용하는 시스템에서 /etc/default/varnish 환경 구성 파일은 더 이상 사용되지 않으며 더 이상 고려되지 않습니다.

/lib/systemd/system/varnish.service 파일을 /etc/systemd/system/에 복사하고 몇 가지 사항을 변경해야 합니다.

sudo cp /lib/systemd/system/varnish.service /etc/systemd/system/
sudo vi /etc/systemd/system/varnish.service

varnish 데몬 런타임 옵션을 정의하는 서비스 지시문 ExecStart를 수정해야 합니다. Varnish가 수신하는 포트를 정의하는 -a 플래그의 값을 6081에서 80으로 설정합니다.

8. 위의 변경 사항을 varnish 서비스 단위 파일에 적용하려면 다음 systemctl 명령을 실행합니다.

sudo systemctl daemon-reload

9. 그런 다음 /etc/varnish/default.vcl 구성 파일에서 Apache를 Varnish 프록시용 백엔드 서버로 구성합니다.

sudo vi /etc/varnish/default.vcl 

백엔드 섹션을 사용하면 콘텐츠 서버의 호스트 IP와 포트를 정의할 수 있습니다. 다음은 localhost를 사용하는 기본 백엔드 구성입니다(실제 콘텐츠 서버를 가리키도록 설정).

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

10. 위 구성을 모두 수행한 후 다음 명령을 입력하여 Apache 및 Varnish 데몬을 다시 시작합니다.

sudo systemctl restart apache
sudo systemctl start varnish
sudo systemctl enable varnish
sudo systemctl status varnish

3단계: Apache에서 Varnish 캐시 테스트

11. 마지막으로 아래의 cURL 명령을 사용하여 Varnish 캐시가 활성화되어 있고 Apache HTTP 서버와 작동하는지 테스트하여 HTTP 헤더를 봅니다.

curl -I http://localhost

그게 다야! Varnish Cache에 대한 자세한 내용을 보려면 https://github.com/varnishcache/varnish-cache를 방문하세요.

이 튜토리얼에서는 Debian 및 Ubuntu 시스템에서 Apache HTTP 서버용 Varnish Cache 5.2를 설정하는 방법을 설명했습니다. 아래의 피드백을 통해 생각이나 질문을 공유할 수 있습니다.