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

공정위 광고 문구 Ver 3.1
공정위 광고 문구 Ver 3.2(모바일 전용)

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

  • RAID 구성 | RAID Level 0, 1, 4, 5, 6, 1+0, 0+1

    RAID(Redundant Array of Independent Disks 또는 Redundant Array of Inexpensive Disks)는 뜻 하는 내용처럼 여러 개의 디스크를 스토리지 하나처럼 운영하여 스토리지의 안정성을 확보하는 기술입니다. 저렴한(Independent) 디스크의 복수 배열의 뜻에서 독립적인 디스크의 복수 배열이란 뜻으로 많이 사용되고 있습니다. 이유는 단독으로 사용하기에 부족한 성능을 가진 디스크를 하나의 논리 디스크로 정렬해서 재활용하는데 목적이 있었기 때문입니다. 디스크…

  • [Linux] ip 명령어 : 네트워크 인터페이스 및 설정 관리

    ip 명령어는 리눅스에서 네트워크를 관리할 때 사용되는 주요 도구로, 다양한 네트워크 작업을 수행할 수 있습니다. ip 명령어는 네트워크 인터페이스의 상태를 확인하거나 활성화 및 비활성화 할 수 있으며, IP 주소를 확인하거나 수동으로 추가 및 삭제하는 작업도 가능합니다. 또한 라우팅 테이블을 조회하고 경로를 추가하거나 제거하는 등의 라우팅 관리, ARP 테이블 확인 및 수정, 터널링 설정…

  • 스왑 메모리(Swap Memory) 설정: 파티션&파일 2가지 방식 | swapon, mkswap 명령어

    리눅스 스왑 메모리(Swap Memory)는 실제 디스크 공간을 메모리처럼 사용하는 개념이기 때문에 물리 메모리인 RAM보다 처리 속도가 느리지만 물리 메모리가 가득 찬 경우를 대비해 디스크 공간에서 할당 된 스왑 메모리를 생성해서 관리할 수 있어 한정된 리소스를 효율적으로 사용할 수 있습니다. ✅ Swap 파일 시스템 Swap 파일 시스템은 리눅스의 가상 메모리를 사용하기 위한 파일 시스템이며,…

  • 리눅스 uniq 명령어

    리눅스 uniq 명령어는 “unique”의 약자이며, 텍스트 파일에서 중복된 행을 제거하고 하나의 행만 출력하는데 사용됩니다. 중복된 텍스트 데이터를 제거하고 몇 번의 반복이 있었는지 등을 확인할 때 매우 유용하게 사용할 수 있습니다. ✅ 리눅스 uniq 명령어 기본 사용법 INPUT 파일은 대상 파일로써 표준 입력에서 읽은 후 기본 출력을 진행합니다. OUTPUT 파일은 리디렉션 파일을 의미합니다. ✅…

  • 우분투 APM 설치 [Ubuntu 22.04.5..]

    설치된 우분투 서버에 APM을 설치 진행합니다. 우분투 APM 설치 버전은 apache 2.4 php 7.4 mariadb 10.11 버전으로 설치를 진행합니다. ✅ 패키지 업데이트 및 apache2 설치 업데이트, 업그레이드 이후 아파치 설치를 진행합니다. 설치 후 버전 및 상태 확인을 진행하여 정상 설치 및 구동 상태를 확인합니다. 🔲 방화벽 설정 확인 ufw 명령어로 ssh 포트 80번…

  • 리눅스 file 명령어

    리눅스 file 명령어는 그 파일이 어떤 파일인지 확인하는데 사용되는 명령으로 파일의 파일 타입을 확인할 때 사용합니다. 확인할 수 있는 파일은 텍스트 파일(ASCII 텍스트), 바이너리 파일, 그림 파일 및 동영상 등입니다. 단순하게 파일의 확장자만 확인하는 것이 아닌 파일의 매직파일(usr/local/magic)의 내용을 참조하여 파일 종류를 표시해 줍니다. magic 파일은 특정 파일의 형식을 식별하기 위한 정보를 담고…

답글 남기기

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

Prove your humanity: 0   +   9   =