CentOS 7에서 Apache로 Varnish Cache를 설치하는 방법
이 튜토리얼은 다음 OS 버전에 대해 존재합니다.
- 센트OS 8
- 센트OS 7
이 페이지에서
- 우리가 할 일\n
- 전제 조건
- 1단계 - CentOS 7에 Apache 설치 및 구성
- 2단계 - 포트 8080에서 Apache 구성
- 3단계 - CentOS 7에 Varnish 설치
- 4단계 - Varnish를 Apache용 리버스 프록시로 구성\n
- 5단계 - 방화벽 구성\n
- 6단계 - 테스트
- 참조
Varnish는 HTTP 캐싱에 중점을 둔 프록시 서버입니다. HTTP 가속기로 설계되었으며 웹 서버 Apache 또는 Nginx의 리버스 프록시 역할을 할 수 있습니다. Varnish는 Wikipedia, The Guardian 및 New York Times를 포함하여 유명하고 트래픽이 많은 웹 사이트에 사용되었습니다.
이 자습서에서는 varnish HTTP 가속기를 Apache 웹 서버의 역방향 프록시로 설치하고 구성하는 방법을 보여줍니다. 실제 웹 서버 Apache는 비표준 HTTP 포트(포트 8080에서 실행)에서 실행됩니다. 그리고 Varnish는 HTTP 포트 80에서 리버스 프록시로 실행됩니다. 이 가이드에서는 CentOS 7 서버를 사용합니다.
우리가 할 일
- CentOS 7에 Apache 설치
- 포트 8080에서 Apache 구성
- CentOS 7에 바니시 설치
- Apache용 리버스 프록시로 Varnish 구성\n
- 방화벽 구성\n
- 테스트
전제 조건
- 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/