Varnish Cache란 무엇인가? | Varnish 설치 및 기본 설정하기

Varnish Cache는 동적 웹사이트와 API에 적합한 HTTP 가속기입니다. 이는 스퀴드와 같은 클라이언트 사이드 캐시 역할을 하는 다른 웹 가속기와 달리 Nginx, 아파치와 같은 원본 서버 대신 HTTP 가속기로 설계 되었습니다.

또한, Varnish는 HTTP에 특화되어 있어 FTP, SMTP 및 다른 통신 프로토콜을 지원하는 프록시 서버와는 다릅니다.

✅ Varnish Cache 설치

~]# dnf -y install varnish
Last metadata expiration check: 2:14:30 ago on Thu 01 Aug 2024 11:39:12 AM UTC.
Dependencies resolved.
======================================================================================================================
 Package                  Architecture            Version                            Repository                  Size
======================================================================================================================
Installing:
 varnish                  x86_64                  6.6.2-4.el9_3.1                    appstream                  1.1 M

Transaction Summary
======================================================================================================================
Install  1 Package

Total download size: 1.1 M
Installed size: 3.6 M
Downloading Packages:
varnish-6.6.2-4.el9_3.1.x86_64.rpm                                                    4.0 MB/s | 1.1 MB     00:00
----------------------------------------------------------------------------------------------------------------------
Total                                                                                 1.1 MB/s | 1.1 MB     00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                              1/1
  Running scriptlet: varnish-6.6.2-4.el9_3.1.x86_64                                                               1/1
  Installing       : varnish-6.6.2-4.el9_3.1.x86_64                                                               1/1
  Running scriptlet: varnish-6.6.2-4.el9_3.1.x86_64                                                               1/1
  Verifying        : varnish-6.6.2-4.el9_3.1.x86_64                                                               1/1

Installed:
  varnish-6.6.2-4.el9_3.1.x86_64

Complete!
~]# varnishd -V
varnishd (varnish-6.6.2 revision 17c51b08e037fc8533fb3687a042a867235fc72f)
Copyright (c) 2006 Verdens Gang AS
Copyright (c) 2006-2020 Varnish Software
~]# systemctl start varnish
~]# systemctl enable varnish
Created symlink /etc/systemd/system/multi-user.target.wants/varnish.service  /usr/lib/systemd/system/varnish.service.

✅ Varnish Cache 구성

ExecStart로 시작하는 줄을 포트 6081에서 포트 80으로 변경한 다음 파일을 저장하고 닫습니다. 완료되면 줄이 다음과 같아야 합니다.

~]# vi /etc/varnish/default.vcl

backend default { .host = "127.0.0.1"; .port = "8080"; }
# 6081  80으로 변경
~]# vi /lib/systemd/system/varnish.service
ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m
ExecReload=/usr/sbin/varnishreload


## 기존에 사용하던 HTTP 포트 번호는 8080으로 변경해 줍니다.##
~]# vi /etc/httpd/conf/httpd.conf
Listen 8080
~]# vi /etc/httpd/conf.d/virtual.conf
<VirtualHost *:8080>
    ServerName ...
## 
~]# systemctl daemon-reload
~]# systemctl restart varnish
[root@ip-172-26-6-43 yum.repos.d]#

✅ Varnish 설치 확인

바니쉬 캐시 설치가 완료 되었습니다. 정상적으로 작동하는지 확인 해 봅니다.

~]# curl -I http://mydomain.com
HTTP/1.1 301 Moved Permanently
Date: Thu, 01 Aug 2024 15:36:16 GMT
Server: Apache/2.4.57 (AlmaLinux) OpenSSL/3.0.7
Location: https://mydomain.com/
Content-Length: 228
Content-Type: text/html; charset=iso-8859-1
X-Varnish: 32772
Age: 0
Via: 1.1 varnish (Varnish/6.6)
Connection: keep-alive
  • ~]# curl -I http://mydomain.com
  • HTTP/1.1 301 Moved Permanently: 요청이 영구적으로 이동했음을 의미합니다. HTTP에서 HTTPS로 리디렉션되었음
  • Location https://mydomain.com: 클라이언트가 요청한 URL이 https://tozisin.com/으로 이동 되었음.
  • X-Varnish: 32772: Varnish가 요청을 처리한 ID(요청이 성공적으로 처리됨)
  • Age: 0: Varnish 캐시에서 이 응답이 생성된 지 얼마나 시간이 지났는지를 나타내며, 0은 방금 생성됨을 의미
  • Via: 1.1 varnish (Varnish/6.6): 요청이 Varnish를 통해 처리되었음.
  • Connection: keep-alive: 연결이 계속 유지된다는 것을 나타냄.
Varnish Cache 로고

Similar Posts

  • Apache http2 적용하기(mod_http2)

    리눅스 서버에 Apache를 설치하게 되면, 기본 프로토콜은 HTTP/1.1을 기본으로 통신하게 되어 있다. Apache http2는 Apache 2.4.17 버전 부터 DSO 모듈로(mod_http2.so) HTTP/2를 지원한다. HTTP/2(Hypertext Transfer Protocol Version 2)는 월드 와이드 웹에서 쓰이는 HTTP 프로토콜의 두 번째 버전이다. 목차✅ Varnish Cache 설치✅ Varnish Cache 구성✅ Varnish 설치 확인Apache http2 적용 http2 적용 확인하기 크롬 개발자…

  • 리눅스 netstat 명령어, ifconfig 명령어

    리눅스에 netstat 명령어 및 ifconfig 명령어를 실행하기 위해 리눅스 서버에 명령어 실행을 위한 net-tools이 설치되어 있어야 합니다. 목차✅ Varnish Cache 설치✅ Varnish Cache 구성✅ Varnish 설치 확인✅ net-tools 설치 ✅ netstat 명령어 netstat[network statistics:네트워크 통계]은 네트워크 상태를 확인하는 명령어입니다. 어떤 포트가 열려있고, 어떻게 사용되고 있는지와 해킹 시도가 있거나 자신의 컴퓨터가 좀비 PC인지 확인할…

  • 리눅스 ls 명령어

    ls 명령어는 list의 약자이며, 리눅스 파일과 디렉토리를 볼 수 있는 명령어입니다. 파일의 종류와 파일의 크기, 만들어진 날짜 등의 정보를 확인할 수 있습니다. 목차✅ Varnish Cache 설치✅ Varnish Cache 구성✅ Varnish 설치 확인✅ ls 명령어 기본 사용 방법 ls 명령어 사용 시 [파일 or 디렉토리]를 입력하지 않으면 현재 디렉토리를 검색합니다. ✅ ll 명령어(ls -l)…

  • Linux란? 리눅스의 특징 및 리눅스의 종류

    목차✅ Varnish Cache 설치✅ Varnish Cache 구성✅ Varnish 설치 확인■ ‘Linux’란? -simple ‘Linux’ 는 유닉스의 무료 버전(오픈소스)으로 이해하면 된다.  유닉스는1969년 벨 연구소에서 만들어졌습니다.  리눅스는 1991년 8월 리누스 토르발스가 어셈블리어로 리눅스 커널(kernel) 0.01 버전을 만들면서 시작되었습니다. 1992년에 0.02 버전이 만들어지면서 인터넷에 소스 코드를 공개한 것이 리눅스의 탄생입니다. Ⅰ. 리눅스의 특징 Ⅱ. 리눅스의 종류 유닉스에서…

  • [Linux] 우분투 서버 설치 RAID 1 (24.04 ver.)

    Oracle VirtualBox에 우분투 서버 설치를 RAID 1 으로 진행해 보겠습니다. 설치 버전은 24.04 버전입니다. RAID 1은 콘솔이 아니라 설치 과정의 UI 환경에서 설정하겠습니다. 목차✅ Varnish Cache 설치✅ Varnish Cache 구성✅ Varnish 설치 확인 ✅ 가상머신 생성 우분투 24.04 버전을 다운로드 받았다면 우측 상단의 [새로 만들기]를 클릭해서 가상 머신을 생성합니다. 무인 설치 건너뛰기를 체크합니다….

  • 리눅스 트러블 슈팅(Trouble Shooting).INDEX

    리눅스 서버를 공부 할 때 트러블 슈팅(Trouble Shooting)이란 단어를 접하게 되는데 서버 엔지니어와 개발자가 서버를 운영하면서 듣게 되는 단어로 말 그대로 ‘문제 해결’을 뜻 한다. 리눅스에서 Trouble Shooting은 문제가 발생한 시점에서 시스템, 소프트웨어 및 하드웨어, 네트워크 등에서 문제를 진단하고 해결하는 과정이다. 목차✅ Varnish Cache 설치✅ Varnish Cache 구성✅ Varnish 설치 확인 Ⅰ. 트러블…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 7   +   4   =