웹사이트 검색

Ubuntu 16.04 LTS에서 Nginx로 Varnish 리버스 프록시를 설치하는 방법


이 페이지에서

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

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

이 튜토리얼에서는 varnish HTTP 가속기를 Nginx 웹 서버용 리버스 프록시로 설치하고 구성하는 방법을 보여줍니다. 실제 웹 서버 Nginx는 비표준 HTTP 포트 8080에서 실행됩니다. 그리고 Varnish는 HTTP 포트 80에서 리버스 프록시로 실행됩니다. 이 가이드에서는 Ubuntu 16.04 서버를 사용합니다.

우리가 할 일

  1. Ubuntu 16.04에 Nginx 설치
  2. 포트 8080에서 Nginx 구성
  3. Ubuntu 16.04에 Varnish 설치
  4. Nginx용 역방향 프록시로 Varnish 구성\n
  5. UFW 방화벽 구성\n
  6. 테스트

전제 조건

  • 우분투 16.04
  • 루트 권한\n

1단계 - Ubuntu 16.04에 Nginx 설치

이 튜토리얼에서 수행해야 하는 첫 번째 단계는 시스템 Ubuntu 16.04에 Nginx를 설치하는 것입니다. 이 단계에서는 Nginx(공식 Ubuntu 리포지토리에서 사용 가능)를 설치한 다음 서비스를 시작한 다음 시스템 부팅 시마다 실행되도록 활성화합니다.

apt 명령을 사용하여 Ubuntu 리포지토리에서 Nginx를 설치합니다.

sudo apt install nginx -y

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

systemctl start nginx
systemctl enable nginx

Nginx 웹 서버는 기본 HTTP 포트에서 실행 중입니다. netstat를 사용하여 확인하고 HTTP 포트가 Nginx에서 사용되는지 확인하세요.

netstat -plntu

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

이 단계에서는 비표준 HTTP 포트 8080에서 실행되도록 nginx를 구성합니다. 이를 위해 사이트 사용 가능 디렉터리에서 가상 호스트 파일을 편집해야 합니다.

Nginx 구성 디렉토리로 이동하고 vim을 사용하여 기본 가상 호스트 파일을 편집합니다.

cd /etc/nginx/
vim sites-available/default

수신 라인 값을 8080으로 변경합니다.

        listen 8080 default_server;
        listen [::]:8080 default_server;

저장 및 종료.

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

nginx -t
systemctl restart nginx

이제 netstat를 사용하여 nginx를 다시 테스트하고 비표준 HTTP 포트 8080에서 실행되는지 확인합니다.

netstat -plntu

Nginx 웹 서버가 설치되었으며 이제 포트 8080에서 실행 중입니다.

3단계 - Ubuntu 16.04에 Varnish 설치

이제 시스템에 Varnish를 설치해야 합니다. 소스에서 도구 최신 버전을 설치할 수 있습니다. 그리고 이 가이드에서는 Ubuntu 리포지토리인 Varnish v4에서 varnish를 설치합니다.

아래의 apt 명령을 사용하여 바니시를 설치합니다.

sudo apt install varnish -y

이제 varnish를 시작하고 아래 systemctl 명령을 사용하여 시스템 부팅 시 실행되도록 활성화합니다.

systemctl start varnish
systemctl enable varnish

기본적으로 varnish는 공용 액세스에 포트 6081을 사용하고 varnish 관리 웹 인터페이스에 포트 6082를 사용합니다. netstat 명령을 사용하여 확인하고 해당 포트가 목록에 있는지 확인하십시오.

netstat -plntu

Varnish HTTP 가속기가 설치되었습니다.

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

이 튜토리얼에서는 Varnish를 Nginx 웹 서버의 리버스 프록시로 사용합니다. Varnish는 HTTP 포트 80에서 실행되고 Nginx 웹 서버는 HTTP 포트 8080에서 실행됩니다(완료됨).

이 단계에서는 Nginx용 Varnish를 구성하고 백엔드 서버를 정의한 다음 HTTP 포트 80에서 실행되도록 Varnish를 변경합니다.

이제 광택 구성 디렉토리로 이동하여 default.vcl 파일을 편집하십시오.

cd /etc/varnish
vim default.vcl

백엔드 라인에서 아래와 같이 구성을 정의합니다.

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

저장 및 종료.

메모:

  • .host=백엔드 웹 서버 주소.
  • .port = 실행 중인 지원 웹 서버.\n

백엔드 구성이 완료되었습니다.

다음으로 HTTP 포트 80에서 실행되도록 Varnish를 구성해야 합니다. /etc/default 디렉토리로 이동하여 varnish 구성 파일 varnish를 편집합니다.

cd /etc/default/
vim varnish

DAEMON_OPTS 줄에서 기본 포트 6081을 HTTP 포트 80으로 변경합니다.

DAEMON_OPTS="-a :80 \
             -T localhost:6082 \
             -f /etc/varnish/default.vcl \
             -S /etc/varnish/secret \
             -s malloc,256m"

저장 및 종료.

이제 /lib/systemd/system 디렉토리에서 varnish 서비스 파일을 편집하십시오. systemd 시스템 디렉토리로 이동하여 varnish.service 파일을 편집하십시오.

cd /lib/systemd/system
vim varnish.service

ExecStart 라인에서 바니시 포트 6081을 HTTP 포트 80으로 변경합니다.

ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m

저장 및 종료.

systemd 구성을 다시 로드하고 varnish를 다시 시작합니다.

systemctl daemon-reload
systemctl restart varnish

설정이 완료되면 아래 netstat 명령을 사용하여 Varnish를 확인합니다.

netstat -plntu

아래와 같이 Varnish가 HTTP 포트 80에서 실행 중인지 확인합니다.

Nginx용 리버스 프록시로 Varnish 구성이 완료되었습니다.

5단계 - UFW 방화벽 구성

Ubuntu 시스템에는 UFW라는 사람이 읽을 수 있는 기본 방화벽이 함께 제공됩니다. 패키지가 없으면 아래의 apt 명령을 사용하여 설치하십시오.

sudo apt install ufw

이 단계에서는 방화벽을 활성화하고 SSH, HTTP 및 HTTPS에 대한 새 포트를 엽니다.

아래 ufw 명령을 실행합니다.

ufw allow ssh
ufw allow http
ufw allow https

이제 방화벽을 활성화하고 부팅할 때마다 실행되도록 활성화하십시오.

ufw enable

y를 입력하고 Enter 키를 눌러 확인합니다.

UFW 방화벽이 활성화되어 있으며 이제 외부 네트워크에서 HTTP 및 HTTPS 포트에 액세스할 수 있습니다.

6단계 - 테스트

- cURL을 사용한 테스트

서버에서 HTTP 헤더를 볼 수 있도록 curl 명령을 사용하여 광택을 테스트합니다.

curl -I hakase-labs.co

그러면 아래와 같이 1.1 varnish-v4를 통해 HTTP 헤더 결과를 얻을 수 있습니다.

- 웹 브라우저를 이용한 테스트

웹 브라우저를 열고 다음 서버 URL 또는 주소를 입력하십시오. 내 주소: http://hakase-labs.co

아래와 같이 Nginx 기본 페이지가 있는지 확인하십시오.

- 니스 로그 테스트

Varnish는 로그를 관리하고 보기 위한 몇 가지 명령을 제공합니다. 우리는 varnishncsa를 사용하여 varnish 액세스 로그를 얻을 것입니다.

varnishncsa

그러면 아래와 같은 결과를 얻을 수 있습니다.

Nginx 웹 서버용 리버스 프록시로 Varnish 설치 및 구성이 완료되었습니다.

참조

  • https://varnish-cache.org/