WordPress에 바니시를 사용하는 방법

게시 됨: 2020-07-05

로딩 속도가 느린 웹 사이트는 사용하기 힘들고 사용자에게 비용을 초래할 수 있습니다. 또한 캐싱을 포함하여 성능을 높일 수 있는 방법이 얼마나 많은지를 고려할 때 웹 사이트가 느려지는 데에는 변명의 여지가 없습니다.

캐싱을 구현하는 방법과 작업을 완료하는 데 도움이 되는 도구가 많이 있습니다. 이 기사에서는 역방향 프록시가 작동하는 방식에 대해 설명하고 WordPress에서 Varnish를 사용하는 방법을 알려줍니다.

가자!

리버스 프록시란 무엇이며 왜 사용해야 합니까?

프록시는 '중개' 서버라고도 합니다. 대부분의 경우 이러한 서버는 사용자와 웹의 나머지 부분 사이에 배치됩니다. 프록시는 특정 규칙 집합에 따라 사용자 요청을 필터링합니다.

예를 들어 ISP(인터넷 서비스 제공업체) 또는 직장에서 프록시를 사용하여 특정 웹사이트에 액세스하지 못하도록 차단할 수 있습니다. 또한 프록시 서버를 사용하여 개인 정보를 보호하고 웹 요청을 암호화하거나 웹에서 제한을 우회할 수 있습니다.

반면에 '역방향' 프록시는 인터넷과 웹 서버 사이에 배치됩니다. 그들의 임무는 들어오는 요청을 필터링하는 것입니다. 다음은 웹사이트에 역방향 프록시를 사용할 때의 이점입니다.

  • 로드 밸런싱. 웹 서버가 여러 개인 경우 역방향 프록시는 각 컴퓨터의 부하에 따라 요청을 라우팅할 수 있습니다.
  • 향상된 개인 정보 보호. 역방향 프록시를 사용하면 최종 서버의 정보가 숨겨집니다. 누군가 주위를 스누핑하는 경우 역방향 프록시까지만 볼 수 있습니다.
  • 여러 SSL(Secure Sockets Layer) 인증서 관리. 역방향 프록시는 들어오는 HTTP 요청을 처리하고 최종 서버에서 필요한 암호화되지 않은 데이터를 가져올 수 있습니다.
  • 캐싱 목적. 역방향 프록시는 웹 사이트의 정적 및 동적 콘텐츠를 캐시할 수 있으므로 서버의 부하를 줄일 수 있습니다.

요약하자면, 역방향 프록시는 매우 훌륭합니다. 주요 관심사가 WordPress 웹 사이트의 성능을 높이는 것이라면 캐싱은 그렇게 하는 데 사용할 수 있는 최고의 도구 중 하나입니다.

그러나 캐싱을 활용하는 방법에는 여러 가지가 있습니다. 사용자의 브라우저에 의존하여 데이터를 저장하거나 CDN(콘텐츠 전송 네트워크)을 사용하여 캐싱을 관리할 수 있습니다. 또는 역방향 프록시 캐시를 구현할 수 있습니다. 이것이 바로 Varnish가 WordPress 사용자를 위해 할 수 있는 일입니다.

WordPress용 바니시 소개

바니쉬 홈페이지.

Varnish는 리버스 프록시로 작동할 수 있는 오픈 소스 전체 페이지 캐싱 도구입니다. 즉, 최종 사용자와 웹 사이트 간의 중개자 역할을 할 수 있습니다. 누군가가 사이트를 방문할 때마다 Varnish는 자체 캐시를 확인하여 보고 싶은 페이지 사본이 있는지 확인합니다. 그렇지 않은 경우 해당 페이지를 가져온 다음 나중에 사용하기 위해 저장합니다.

실제로 Varnish는 서버 성능을 크게 향상시킬 수 있습니다. 캐시된 콘텐츠를 처음부터 렌더링하는 것보다 캐시된 콘텐츠를 제공하는 것이 훨씬 더 쉽기 때문입니다. Varnish for WordPress를 사용하면 자주 변경되지 않는 모든 자산의 복사본을 웹사이트에 저장할 수 있습니다. 해당 캐시를 주기적으로 제거하거나 갱신하면 대부분의 상황에서 웹사이트를 픽셀 단위로 완벽하게 렌더링해야 합니다.

앞에서 언급했듯이 프록시 서버는 요청을 처리할 때 특정 규칙을 따릅니다. Varnish는 VCL(Varnish Configuration Language)이라는 내부 규칙에 자체 언어를 사용합니다. 실제로 VCL은 프록시 서버의 구성에 대한 완전한 제어를 제공하므로 먼저 VCL에 익숙해져야 합니다.

도구를 향상시키는 모듈인 'VMOD'를 사용하여 Varnish의 핵심 기능을 확장할 수도 있습니다. Varnish 공식 웹사이트는 인기 있는 VMODS의 저장소를 유지하고 있으므로, 자유롭게 체크아웃하십시오.

Varnish가 작동하려면 서버에 도구를 직접 설치해야 합니다. 즉, 공유 호스팅 계획에서 제외되는 명령줄에 액세스해야 합니다. 그러나 VPS(가상 사설 서버), 클라우드 환경 또는 전용 서버를 사용하는 경우 WordPress에서 Varnish를 설정하는 방법을 알아보세요.

WordPress용 바니시 설정 방법(3단계)

이 자습서 전체에서 서버 수준에서 몇 가지 변경 작업을 수행합니다. 명령줄을 사용하거나 서버를 수정하는 것이 불편하다면 시작하기 전에 모든 지침을 주의 깊게 읽어보는 것이 좋습니다. 또한 만일을 대비하여 먼저 웹사이트를 백업해 두는 것이 좋습니다.

1단계: 서버에 Varnish 설치

Varnish를 설치하려면 명령줄을 통해 서버에 액세스해야 합니다. 그런 다음 도구를 설치하고 해당 VCL 파일을 조정하고 이 도구와 함께 작동하도록 서버를 구성해야 합니다.

이 단계에서는 UNIX 기반 서버에 대한 Vanish의 공식 설치 지침을 확인하십시오. 이 간단한 자습서에는 올바른 순서로 사용하는 데 필요한 모든 명령이 포함되어 있습니다.

Varnish를 설치하고 함께 작동하도록 웹 서버를 구성한 후에는 모든 것을 다시 시작해야 합니다. 그런 다음 새 도구와 함께 작동하도록 WordPress를 미세 조정할 준비가 된 것입니다.

2단계: 프록시 캐시 제거 플러그인 설정

이상적으로는 미리 결정된 시간에 캐시를 제거하도록 Varnish를 구성하는 것이 좋습니다. 그렇게 하면 방문자에게 오래된 버전의 콘텐츠를 제공하지 않습니다.

WordPress에서 이를 수행하는 가장 좋은 방법은 페이지 또는 게시물을 업데이트할 때마다(또는 새 게시물을 생성할 때마다) 역방향 프록시 캐시를 제거하는 것입니다. 상상할 수 있듯이 프록시 캐시 제거라는 플러그인이 있습니다.

프록시 캐시 제거 플러그인.

페이지 또는 게시물을 게시하거나 편집할 때 전체 캐시를 제거하지 않기 때문에 이 플러그인이 좋습니다. 대신 첫 페이지, 편집된 콘텐츠 및 관련 분류에 대한 캐시만 대상으로 합니다. 플러그인이 전체 역방향 프록시 캐시를 자동으로 제거하는 유일한 시간은 테마를 변경할 때입니다.

Proxy Cache Purge는 추가 구성이 필요하지 않지만 플러그인이 제대로 작동하려면 사용자 지정 영구 링크를 활성화해야 합니다. 맞춤 퍼머링크 구조를 아직 사용하고 있지 않다면(꼭 그래야 합니다!), 설정 방법에 대한 가이드를 확인하세요. 어떤 구조도 가능하므로 마음에 드는 것을 자유롭게 선택하십시오.

3단계: WordPress에 대한 바니시 설정 구성

Varnish에 대한 공식 설정 지침을 따랐다면 WordPress에서는 작동하지만 플랫폼에는 최적화되지 않은 구성 파일이 생성됩니다.

Varnish for WordPress를 최적화하려면 VCL 파일에 세 가지 작은 변경 사항을 적용하는 것이 좋습니다.

  1. 특정 쿠키를 무시하도록 Varnish를 구성합니다.
  2. WordPress 관리자 및 로그인 페이지를 제외합니다.
  3. 역방향 프록시 캐시 기간을 연장합니다.

명령줄을 통해 텍스트 편집기를 사용하여 Varnish 구성 파일을 열어 이 작업을 수행할 수 있습니다. 찾고 있는 파일은 default.vcl 이며 다음 위치에 있어야 합니다.

/etc/varnish/default.vcl

파일을 열고 공식 Varnish 문서에서 제공하는 다음 코드 스니펫을 파일에 추가합니다.

#unsetting wordpress cookies
sub vcl_rec{
..
set req.http.cookie = regsuball(req.http.cookie, "wp-settings-\d+=[^;]+(; )?", "");
set req.http.cookie = regsuball(req.http.cookie, "wp-settings-time-\d+=[^;]+(; )?", "");
set req.http.cookie = regsuball(req.http.cookie, "wordpress_test_cookie=[^;]+(; )?", "");
if (req.http.cookie == "") {
unset req.http.cookie;
}=
}
# exclude wordpress login and admin urls
if (req.url ~ "wp-admin|wp-login") {
return (pass);
}
# extending caching time
sub vcl_backend_response {
if (beresp.ttl == 120s) {
set beresp.ttl = 1h;
}
}

default.vcl 에 변경 사항을 저장하면 됩니다. 역방향 프록시 서버가 WordPress와 작동할 준비가 되었습니다. 이제 Varnish는 2분마다(기본값) 서버에 연결하지 않고 대신 1시간에 한 번 연결합니다.

결론

서버에 대한 전체 액세스 권한이 있는 경우 WordPress용 역방향 프록시를 구현하는 것이 사용자의 로딩 시간을 개선하는 효과적인 방법입니다. 또한 역방향 프록시를 사용하면 Varnish가 가장 중요한 작업을 처리하므로 서버에서 훨씬 더 많은 트래픽 부하를 처리할 수 있습니다.

WordPress용 Varnish를 설정하려면 서버에 액세스해야 합니다. 그 후 설치 및 구성은 다음 세 단계만 거치면 됩니다.

  1. 서버에 Varnish를 설치합니다.
  2. 프록시 캐시 제거 플러그인을 설정합니다.
  3. WordPress에 대한 바니시 설정을 구성합니다.

Varnish를 WordPress와 함께 사용하는 방법에 대해 질문이 있습니까? 아래 코멘트 섹션에서 그들에 대해 이야기합시다!

Studio_G/Shutterstock.com의 기사 썸네일 이미지