워드프레스 사이트에서 “504 Gateway Timeout” 에러가 발생하면 서버가 지정된 시간 내에 응답을 받지 못했다는 의미입니다. 페이지가 로딩되다가 멈춰버리거나, 관리자에서 업데이트·파일 업로드 중에 갑자기 에러가 나타나는 경우가 많습니다.
이 가이드에서는 카페24 호스팅 환경을 기준으로 504 에러의 주요 원인과 단계별 해결 방법을 안내합니다.
글 목차
목차
1. 504 에러란 무엇인가?
HTTP 504 Gateway Timeout은 게이트웨이(웹 서버)가 업스트림 서버(PHP, 데이터베이스 등)로부터 지정된 시간 내에 응답을 받지 못할 때 발생하는 오류 코드입니다. 쉽게 말해 서버가 작업을 완료하지 못하고 시간이 초과된 상황입니다.
주요 증상
- 페이지가 로딩 중 멈추다가 504 에러 화면으로 전환됩니다.
- 워드프레스 플러그인 업데이트, 테마 설치, 이미지 대량 업로드 중 에러가 자주 발생합니다.
- WooCommerce 주문 처리나 대용량 데이터 임포트 중에도 나타납니다.
- 사이트의 특정 페이지에서만 반복적으로 발생하기도 합니다.
503 에러와의 차이점
| 구분 | 503 Service Unavailable | 504 Gateway Timeout |
|---|---|---|
| 원인 | 서버가 서비스 불가 상태 | 응답 시간 초과 |
| 주요 상황 | 트래픽 초과, 유지보수 모드 | PHP 실행 시간 초과, 느린 DB 쿼리 |
| 지속성 | 일시적인 경우 많음 | 설정 수정 전까지 반복 발생 |
2. 504 에러의 주요 원인 5가지
원인 1 — PHP 실행 시간(max_execution_time) 초과
가장 흔한 원인입니다. PHP 스크립트가 서버에 설정된 최대 실행 시간(기본값 30~60초) 안에 작업을 완료하지 못하면 서버가 연결을 강제로 끊습니다. 대용량 파일 처리, 플러그인 업데이트, WooCommerce 대량 주문 처리 시 자주 발생합니다.
원인 2 — 느린 데이터베이스 쿼리
최적화되지 않은 플러그인이나 누적된 데이터로 인해 데이터베이스 쿼리 처리 시간이 길어지면 504 에러가 발생합니다. 특히 댓글, 주문, 회원 데이터가 많이 쌓인 사이트에서 자주 나타납니다.
원인 3 — 무거운 플러그인
서버 리소스를 과도하게 사용하는 플러그인(특히 SEO 분석, 백업, 이미지 최적화 플러그인)이 504 에러를 유발하는 경우가 있습니다.
원인 4 — CDN 또는 프록시 서버 설정 오류
Cloudflare 등 CDN의 타임아웃 설정이 서버 처리 시간보다 짧게 설정된 경우, CDN이 먼저 504 에러를 반환합니다.
원인 5 — 외부 API 응답 지연
결제 게이트웨이, 지도 API, 소셜 로그인 등 외부 서비스 API가 느리게 응답하면 PHP 스크립트가 기다리다 타임아웃됩니다.
3. 카페24 호스팅에서 해결 방법
1단계 — 플러그인 전체 비활성화
특정 플러그인이 원인인지 먼저 확인합니다.
- 카페24 파일 관리자 또는 FTP로 접속합니다.
/wp-content/plugins/폴더명을plugins_disabled로 임시 변경합니다.- 사이트에 접속하여 504 에러가 해결되는지 확인합니다.
- 해결되면 폴더명을 복구하고 플러그인을 하나씩 활성화하며 원인 플러그인을 찾습니다.
2단계 — 카페24에서 PHP 실행 시간 늘리기
카페24 호스팅에서는 관리자 페이지에서 직접 PHP 설정을 변경할 수 있습니다.
- 카페24 호스팅 관리자 접속
- [나의 서비스 관리] → [호스팅 관리] → [PHP 설정]
- max_execution_time을 300 (초)으로 변경합니다.
- memory_limit을 512M으로 변경합니다.
- [저장하기]를 클릭하고 사이트를 다시 확인합니다.
3단계 — wp-config.php에서 PHP 시간 설정
카페24 PHP 설정이 변경되지 않거나 즉시 적용이 필요한 경우, wp-config.php 파일을 직접 수정합니다.
- 카페24 파일 관리자에서 WordPress 루트의
wp-config.php를 편집합니다. /* That's all, stop editing! */줄 바로 위에 아래 코드를 추가합니다.
// PHP 실행 시간 300초로 늘리기
set_time_limit(300);
define('WP_MEMORY_LIMIT', '512M');
define('WP_MAX_MEMORY_LIMIT', '512M');
4단계 — .htaccess에 타임아웃 설정 추가
WordPress 루트의 .htaccess 파일에 아래 코드를 추가하는 방법도 있습니다.
php_value max_execution_time 300
php_value max_input_time 300
5단계 — CDN 타임아웃 설정 확인
Cloudflare를 사용 중이라면 Cloudflare 대시보드에서 타임아웃 설정을 확인합니다.
- Cloudflare 대시보드 → Speed → Optimization → Protocol Optimization
- 무료 플랜의 경우 100초 타임아웃이 적용됩니다. 이보다 긴 작업은 Cloudflare를 임시 비활성화(Development Mode)하고 테스트합니다.
6단계 — 데이터베이스 쿼리 최적화
불필요한 데이터가 많이 쌓인 경우 데이터베이스를 정리하면 쿼리 속도가 향상됩니다.
- WP-Optimize 플러그인을 설치하고 데이터베이스 최적화를 실행합니다.
- 삭제된 포스트, 리비전, 스팸 댓글, 만료된 트랜지언트 데이터를 제거합니다.
4. 504 에러 예방 방법
- PHP 실행 시간 사전 설정: 카페24 PHP 설정에서 max_execution_time을 초기부터 120~300초로 설정해 두면 대부분의 504 에러를 예방할 수 있습니다.
- 플러그인 관리: 사용하지 않는 플러그인은 삭제하고, 리소스를 많이 사용하는 플러그인은 가벼운 대안으로 교체합니다.
- 정기적인 DB 최적화: 월 1회 데이터베이스를 정리하여 쿼리 속도를 유지합니다.
- 캐시 플러그인 활용: 페이지 캐시를 사용하면 PHP가 매번 실행되지 않아 504 에러 발생 빈도를 크게 줄일 수 있습니다.
- 업데이트는 비트래픽 시간에: 대용량 플러그인 업데이트나 파일 임포트 작업은 방문자가 적은 새벽 시간에 진행하시기 바랍니다.
5. 자주 묻는 질문 (FAQ)
Q. 504 에러가 특정 페이지에서만 발생해요.
특정 페이지에서만 발생한다면 그 페이지와 연결된 플러그인이나 대용량 쿼리가 원인일 가능성이 높습니다. Query Monitor 플러그인을 설치하여 해당 페이지의 느린 쿼리를 확인하시기 바랍니다.
Q. 504 에러와 503 에러는 어떻게 다른가요?
503은 서버가 서비스 불가 상태(과부하, 유지보수), 504는 서버가 지정된 시간 내에 응답을 받지 못한 경우(시간 초과)입니다. 504는 주로 PHP 실행 시간 초과나 느린 데이터베이스 쿼리가 원인입니다.
Q. 카페24에서 PHP 실행 시간을 늘리려면?
카페24 호스팅 관리자 → [나의 서비스 관리] → [호스팅 관리] → [PHP 설정]에서
max_execution_time을 300초 이상으로 변경합니다. 또는 .htaccess 파일에
php_value max_execution_time 300을 추가합니다.
Q. 504 에러가 해결됐다 재발해요.
일시적으로 해결됐다 재발하는 경우 근본 원인이 해결되지 않은 것입니다. Query Monitor로 느린 쿼리를 찾거나, 원인 플러그인을 찾아 교체하는 것이 필요합니다. 카페24 고객센터(1588-3284)에 서버 로그 분석을 요청하실 수도 있습니다.
정리 — 504 에러, 이렇게 해결하세요
504 Gateway Timeout 에러는 대부분 PHP 실행 시간 연장, 플러그인 비활성화, 데이터베이스 최적화로 해결됩니다. 카페24 호스팅에서는 PHP 설정 메뉴에서 직접 max_execution_time을 늘릴 수 있어 비교적 간단하게 해결할 수 있습니다.
다른 에러 해결이 필요하시다면 아래 가이드를 참고하시기 바랍니다.