[워드프레스] 503 오류를 수정하는 방법

하보니

워드프레스 사이트에서 503 오류가 발생합니까? 이 오류는 워드프레스에서 흔히 발생하는 오류입니다. 이러한 오류는 서버의 문제 때문일 수 있겠지만 워드프레스 사용자라면 한 번쯤은 겪게 될 가능성이 높고 그리고 전문적 기술 지식이 필요하지 않습니다.

먼저 워드프레스에서 503 오류가 발생한 원인에 대해 모든 잠재적 문제와 향후 503 오류 발생을 방지할 수 있는 방법을 알아보도록 하겠습니다.



503 오류는 무엇일까요?

503 오류는 웹사이트 서버에 연결할 수 없을 때 발생합니다. 즉, 서버를 사용할 수 없다는 것을 의미합니다. 사용할 수 없는 이유는 플러그인이나 테마, 잘못된 코드, 또는 서버 결함, DDoS 공격 또는 전반적인 호스팅 서비스의 문제일 수 있습니다.

- 잘못 코딩된 플러그인 또는 테마:

일반적으로 503 오류는 잘못 코딩된 플러그인이나 테마를 설치하거나 업데이트할 때 나타납니다. 플러그인이나 테마가 제대로 작동하지 않으면 워드프레스에서 503 오류가 발생합니다.

- 악의적인 코드:

워드프레스 사이트를 사용자 정의하는 것은 매우 쉽습니다. 여기에 CSS 코드를 추가하고, PHP 스크립트를 업로드하고, 필요하다면 사이트를 수정할 수 있습니다. 그러나 잘못된 사용자 정의 코드는 많은 문제를 일으킬 수 있습니다. 여러분이 겪고 있는 503 오류는 잘못된 코딩으로 인해 발생할 수 있습니다.

- 잘못된 웹 호스팅 설정:

우리 모두는 합리적인 가격 때문에 공유 호스팅 서비스를 좋아 하지만 그러한 설정의 단점을 거의 고려하지 않습니다. 동일한 서버에서 알 수 없는 다른 웹사이트와 함께 귀하의 웹사이트를 호스팅하면 모든 웹사이트가 서버 리소스를 과도하게 사용하게 될 수 있습니다. 당신의 웹 사이트에 리소스가 부족하여 503 오류가 발생했을 수 있습니다.

- 서버의 기술적인 문제:

서버가 유지 관리 중이거나 기타 예정된 작업으로 인해 서버가 다운될 수 있습니다. 일반적으로 이러한 이유로 발생한 문제는 몇 시간 후에 조치됩니다. 즉, 호스팅 제공업체는 유지 관리 중에 사이트가 정상적으로 작동하는지 확인하기 위해 미러 서버를 보유해야 합니다.

- DDoS 공격:

자주 발생하지는 않지만 웹 사이트에 대한 공격으로 인해 503 오류가 발생했을 수 있습니다. 특히 DDoS 공격은 503 오류와 관련된 경우가 많습니다. 이러한 유형의 공격에서 해커가 웹사이트에 엄청난 양의 트래픽을 보내 서버가 과부하되고 사이트가 중단되기 때문입니다.

워드프레스 사이트에서 503 오류가 발생하는 일반적인 이유는 다음과 같습니다.

  • 503 서비스를 사용할 수 없습니다.
  • 503 서비스를 일시적으로 사용할 수 없습니다.
  • HTTP 서버 오류 503
  • HTTP 오류 503
  • 오류 503 서비스를 사용할 수 없습니다. 서버는 유지 관리 중단 시간이나 용량 문제로 인해 일시적으로 귀하의 요청을 처리할 수 없습니다. 나중에 다시 시도 해주십시오.



워드프레스에서 발생한 503 오류를 수정하는 방법

효과적인 정확한 수정 방법은 원인에 따라 다릅니다. 503 오류 자체는 많은 정보를 제공하지 않습니다.

503 오류는 플러그인이나 테마를 업데이트할 때도 발생합니다. 일시적인 문제인지 확인하기 위해 웹사이트를 다시 확인해 보세요. 사이트를 확인하기 전에 캐시를 지웠는지도 확인하세요.

앞서 언급했듯이 웹 서버의 유지 관리 작업으로 인해 503 오류가 발생하는 경우가 있습니다. 이럴 때는 서버 쪽 문제인지, 워드프레스에서 오류가 발생했는지 알아야 하며 만약, 웹 서버 쪽 문제라면 서버 관리자에게 문의해서 해결해야 합니다.

웹사이트에 코딩 작업 직후 오류가 나타나면 범인이 누구인지 알 수 있습니다. 코드를 제거하면 웹사이트가 정상으로 돌아갑니다. 하지만 대시보드에 액세스할 수 없는 경우 웹사이트 백업을 복원하는 것이 좋습니다.

아직 해결책을 찾지 못했나요? 그러면 다음 단계에서 시도해 보겠습니다.


1. 일시적으로 플러그인 비활성화

503 오류는 일반적으로 사이트에 설치한 플러그인으로 인해 발생할 수 있습니다. 플러그인으로 인해 오류가 발생했는지 확인하려면 일시적으로 모든 플러그인을 비활성화 해야 합니다.

503 오류로 인해 대시보드에 액세스할 수 없으므로 FileZilla와 같은 FTP 클라이언트를 사용하세요.

FileZilla를 열고 사이트에 연결한 후 워드프레스가 설치된 폴더로 이동하세요. 폴더를 열고 wp-content 로 이동합니다. 이 폴더 안에는 plugins 이라는 또 다른 폴더가 존재합니다. 여기에는 사이트의 모든 플러그인(활성 및 비활성)이 포함됩니다. 플러그인 폴더 이름을 “plugins_“과 같이 다른 이름으로 바꾸세요. 이렇게 하면 사이트의 모든 플러그인이 비활성화됩니다.

사이트로 다시 돌아가서 503 오류가 사라졌는지 확인하세요. 이때 503 오류가 사라졌다면 이제 문제를 일으키는 정확한 플러그인을 찾아낼 차례입니다.

FileZilla로 돌아가서 플러그인 폴더 이름을 원래 이름(“plugins”)으로 다시 변경하세요. 안으로 들어가서 모든 플러그인을 하나씩 작업해 보세요.

  1. 폴더의 첫 번째 플러그인 이름을 다른 이름으로 변경합니다.
  2. 사이트로 돌아가서 503 오류가 사라졌는지 확인합니다.
  3. 오류가 사라진다면 범인을 찾은 것입니다. 그렇지 않은 경우 첫 번째 플러그인의 이름을 원래 이름으로 변경하고 동일한 방식으로 두 번째 플러그인 이름을 다른 이름으로 변경해서  테스트합니다.
  4. 문제를 일으키는 플러그인을 찾을 때까지 이 작업을 반복합니다.

오류를 일으키는 플러그인을 찾으면 해당 플러그인을 삭제하고 대안을 찾는 것이 가장 좋습니다. 503 오류를 일으키는 플러그인이 없으면 다음 해결 방법을 시도해 보세요.


2. 테마를 일시적으로 비활성화

테마를 비활성화하는 것은 플러그인 폴더에서 했던 것처럼 단순히 테마 폴더의 이름을 바꿀 수 없기 때문에 약간 까다롭습니다.

따라서 수행해야 할 작업은 다음과 같습니다. 호스팅 계정에 로그인하고 phpMyAdmin 을 엽니다.

“wp_options“를 선택하고 “검색“으로 이동합니다. ”option_name” 값에 “template” 이라고 작성하고 “실행“을 클릭합니다.

"option_value" 값에 현재 테마를 표시합니다. “수정”을 선택하고 현재 테마(예: generatepress)를 다른 테마로 변경합니다(예: twentytwentyone).

오류가 해결되면 이전 버전의 테마(작동하는 버전)를 설치한 후 테마 개발자가 업데이트를 릴리스할 때까지 기다리는 것이 좋습니다. 또는 옵션인 경우 완전히 다른 테마로 전환할 수도 있습니다.


3. 일시적으로 CDN을 비활성화

때때로 CDN은 503 오류를 일으키는 것으로 알려져 있으므로 사이트에서 작업 중인 CDN을 비활성화하면 해결 방법이 될 수 있습니다. 모든 CDN에는 수동으로 일시 중지할 수 있는 옵션이 있습니다. 예를 들어 Cloudflare에서는 계정에 로그인하고 웹사이트를 선택한 다음 사이트에서 프록시 상태를 “중지“ 시킬 수 있습니다.

그런 다음 웹사이트를 확인하고 503 오류가 지속되면 CDN 일시 중지를 해제하고 다른 해결 방법을 시도해 보세요.


4. 워드프레스 하트비트 API 제한

Heartbeat API는 게시물 자동 저장, 플러그인 알림 표시, 다른 사람이 게시물을 수정할 때 게시물에 액세스하지 못하도록 방지 등과 같은 몇 가지 필수 기능을 담당합니다.

API는 서버 리소스를 사용하여 이러한 기능을 수행합니다. 서버가 API의 요구를 처리할 수 없으면 503 오류가 발생합니다. Heartbeat API가 오류를 일으키는지 확인하려면 일시적으로 비활성화해야 합니다.

FTP 클라이언트(FileZilla)를 열고 웹사이트에 연결한 후 public_html → wp-content → theme 로 이동하세요. 현재 테마 폴더를 열고 function.php 파일의 사본을 다운로드 한다음 편집을 진행합니다.

태그 바로 뒤에 다음 코드를 추가합니다.

<?php
add_action( 'init', 'stop_heartbeat', 1 );
function stop_heartbeat() {
  wp_deregister_script('heartbeat');
}

파일을 저장하고 수정한 function.php 파일을 다시 업로드한 후 웹사이트를 확인하세요. 오류가 사라지면 범인을 잡은 것입니다.

하지만 Heartbeat API는 필수적이므로 장기간 비활성화 상태로 유지할 수는 없습니다. 원하는 경우 Heartbeat 제어 플러그인을 설치하여 늦출 수 있습니다. 플러그인을 설정하기 전에 function.php 파일에서 위 코드를 삭제하세요.


5. WP_DEBUG 활성화

다른 모든 작업이 실패하면 디버그 모드를 활성화하면 답을 얻을 수 있습니다.

플러그인을 사용하거나 wp-config.php 파일을 수정하여 디버그 모드를 활성화합니다.

503 오류로 인해 대시보드에 액세스할 수 없으므로 플러그인 설치는 불가능합니다. 따라서 wp-config.php 파일을 수동으로 수정해야 합니다.

FTP 클라이언트(FileZilla)를 열고 public_html → wp-config.php 로 이동하여 파일 사본을 다운로드한 후 편집을 진행합니다. 다음 코드를 추가합니다.

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

파일을 저장하고 다시 업로드하세요.

이제 wp-content 폴더로 이동하면 거기에서 debug.log 파일을 찾을 수 있습니다.

로그 파일에는 웹 사이트에서 발생한 오류가 포함되어 있습니다. 오류를 발생시킨 특정 코드 줄과 함께 오류의 원인이 표시됩니다. 503 오류에 대한 직접적인 표시를 찾을 수 없으므로 호스팅 제공업체에 로그를 보여주고 도움을 구하는 것이 좋습니다.



워드프레스에서 503 오류 방지

몇 가지 지침만 지켜주면 503 오류가 표시되는 것을 사전에 방지할 수 있습니다.

신뢰할 수 있는 개발자(예: Themeisle)의 테마와 플러그인을 사용하세요.

사이트가 제대로 작동하기 위해 더 많은 리소스가 필요한 경우 더 나은 호스팅 제품으로 전환하는 것도 방법입니다.

DDoS 공격을 방지하려면 방화벽이 되는 업체를 찾으세요.