카페24 호스팅에서 HTTP ERROR 500 뜰 때, 에러 로그부터 제대로 남기는 방법
카페24에서 500 오류가 뜨면 대부분 “원인을 알려주지 않는 오류”에 가깝습니다. 그래서 결국 답은 하나로 모입니다. 에러 로그를 남기고, 그 로그를 보고 고친다. 문제는 카페24 환경에서는 설정을 조금만 삐끗해도 로그가 아예 안 쌓이는 경우가 꽤 있다는 점이에요.
참고 : 제로보드 XE SSL 적용, PHP 업그레이드 라이믹스 설치 HTTP500 오류후기
아래처럼 .htaccess에 php_value error_log를 넣었는데도 로그가 비어 있다면, 경로/권한/서버 구동 방식 중 하나가 맞지 않는 케이스일 확률이 큽니다.
우선 확인: 카페24에서 잘 먹히는 에러 로그 경로
예전 글에서는 /내아이디/error.log 형태가 자주 돌았는데, 요즘 카페24 문서/환경 기준으로는 /home/hosting_users/아이디/ 아래로 지정하는 쪽이 성공률이 훨씬 좋습니다.
.htaccess에 아래 블록을 그대로 추가
(가능하면 사이트 최상단 .htaccess 맨 아래쪽에 넣어주세요. 워드프레스라면 보통 /www 또는 /public_html 쪽 루트입니다.)
php_value error_reporting 6135
php_flag display_errors on
php_flag log_errors on
php_value error_log /home/hosting_users/아이디/php_error.log
위에서 아이디는 카페24 계정 아이디로 바꾸면 됩니다. 그리고 log_errors on이 빠져 있으면, 에러가 떠도 파일로 기록이 안 남는 경우가 있어요.
“적용했는데도 로그가 안 쌓일 때” 바로 체크할 것
1) 지금 PHP가 .htaccess의 php_value를 읽는 구조인지
일부 환경은 php-fpm 방식이라 .htaccess의 php_value/php_flag가 무시되거나, 반대로 그것 때문에 500이 더 날 수도 있습니다. 카페24는 상품/세팅에 따라 체감이 갈립니다.
- php_value를 넣은 직후부터 500이 더 심해졌다 → 해당 항목이 허용되지 않는 구성일 수 있습니다.
- 500은 그대로인데 로그만 안 생긴다 → 경로/권한/기록 옵션이 문제인 경우가 많습니다.
2) 로그 파일 “생성 위치”가 웹에서 보이는 폴더인지
로그는 민감한 정보가 들어갑니다. 그래서 웹으로 열 수 있는 위치(www 안쪽)에 두는 건 피하는 게 안전해요. 가능하면 /home/hosting_users/아이디/ 처럼 웹 루트 밖으로 두는 편이 낫습니다.
3) 퍼미션/소유권 이슈
카페24는 대체로 따로 만질 일이 적지만, 상황에 따라 상위 폴더 쓰기 권한이 꼬여 있으면 파일 생성이 막힙니다. FTP로 접속해서 경로가 실제로 존재하는지 먼저 보고, 지정한 파일명이 맞는지 확인해 주세요.
4) “에러가 너무 일찍” 터져서 기록 지점까지 못 가는 경우
간혹 PHP 자체가 뜨기도 전에 웹서버 레벨에서 막히면(예: 잘못된 .htaccess 문법), PHP 에러 로그가 아니라 웹서버 에러 로그 쪽에만 남는 경우가 있습니다. 이때는 로그 파일이 안 만들어진다고 해서 “에러가 없다”가 아닙니다.

(위 화면처럼 HTTP ERROR 500만 던져주고 끝나는 게 일반적이라, 로그가 유일한 단서가 됩니다.)
워드프레스라면: 화면에 띄우지 말고 파일로만 쌓이게
운영 중인 사이트에서 에러를 화면에 계속 띄우는 건 위험합니다.
대신 파일 로그로만 남기도록 세팅해두면 편해요.
wp-config.php에 추가
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
이렇게 해두면 보통 wp-content/debug.log 쪽으로 쌓입니다. 다만, 카페24처럼 용량이 빠듯한 환경에서는 해결 후 반드시 끄는 습관이 필요합니다.
추가로 꼭 해두면 편한 것들 (500 오류 추적이 빨라짐)
로그가 쌓이기 시작했는데, “대표적으로 이런 에러”가 보인다면
실제로 카페24 워드프레스에서 자주 보는 케이스가 아래 두 가지입니다. 캐시(특히 Redis) 연결 문제와 DB 서버/리소스 문제. 둘 다 500으로 튀는 일이 흔합니다.
1) Redis 관련 에러가 보일 때
로그에 아래처럼 127.0.0.1:6379 연결 오류가 반복되면, 워드프레스가 로컬 Redis에 붙으려고 시도하는 상황입니다. 공유 호스팅에서는 로컬 Redis가 없거나, 있어도 접근이 막혀 있을 수 있어요.
Predis\Connection\ConnectionException: Error while reading line from the server. [tcp://127.0.0.1:6379]
- 가장 빠른 확인: Redis 캐시 플러그인(예: Redis Cache, Redis Object Cache 등) 비활성화 후 500이 사라지는지 확인
- 계속 쓰고 싶다면: 카페24에서 제공하는 Redis/캐시 옵션을 실제로 쓰는 구성인지 점검 (연결 호스트/포트가 로컬인지, 외부 제공 정보인지)
- 플러그인을 껐는데도 계속 Redis를 잡아당기면 wp-content/object-cache.php가 남아 있는지 확인
특히 object-cache.php는 플러그인을 꺼도 파일이 남아 있으면 계속 캐시 레이어가 동작합니다. 이 상태에서 Redis 연결이 깨지면, 화면은 깔끔하게 500으로만 떨어집니다.
2) “WordPress database error Server shutdown in progress”가 보일 때
이 메시지는 보통 DB 서버가 재시작 중이거나, 순간적으로 연결이 끊겼을 때 뜹니다. 카페24 공유 호스팅에서는 트래픽 급증, 동시 접속, 무거운 쿼리, 리소스 제한이 겹치면 이런 형태로 나타나는 경우가 있어요.
- 캐시 계층(페이지 캐시/오브젝트 캐시)을 정상 상태로 맞춰 DB 호출을 줄이기
- 관련 글/추천 글/태그 캐시처럼 쿼리가 큰 기능이 있다면 잠깐 꺼보고 비교
- 플러그인 업데이트 직후라면, 특정 플러그인이 폭탄 쿼리를 날리는지 로그에서 호출 스택 확인
500 오류 원인별로 자주 맞닥뜨리는 조합
| 증상 | 로그에서 자주 보이는 단서 | 현실적인 대응 |
|---|---|---|
| 특정 페이지/저장 버튼에서만 500 | memory exhausted, allowed memory size | PHP/워드프레스 메모리 상향 + 무거운 플러그인 점검 |
| 전체 사이트가 간헐적으로 500 | database error, server shutdown, too many connections | 캐시 강화 + 동시접속/리소스 확인 |
| 캐시 플러그인 켠 뒤부터 500 | redis 127.0.0.1:6379, object-cache.php | 캐시 플러그인 구성 재정리 또는 제거 후 잔여 파일 정리 |
| .htaccess 수정 직후 바로 500 | 로그가 비거나, 웹서버 레벨 오류 | 최근 변경 줄부터 롤백 후 최소 단위로 다시 적용 |
용량 터지는 걸 막는 로그 관리 요령
로그는 켜두면 편하지만, 그대로 두면 용량이 금방 불어납니다. 운영 환경에서는 아래처럼 “필요할 때만 켜고, 확인 끝나면 바로 정리”가 가장 속 편합니다.
- 원인 확인 끝나면 .htaccess의 display_errors는 끄기
- debug.log / php_error.log는 확인 후 파일 비우거나 이름 바꿔 보관
- 로그 파일을 웹에서 접근 가능한 위치에 두지 않기
50GB 대규모 사이트라면 꼭 챙겨야 할 'Redis 심화 최적화'
로그를 보다 보면 연결 오류만큼이나 뒷목 잡게 만드는 게 바로 지연 시간(Latency)입니다.
50GB가 넘어가는 대규모 사이트에서 Redis를 그냥 기본값으로만 돌리면, 어느 순간 지연 시간이 1,600ms까지 튀면서 사이트가 굼떠지는 걸 보게 됩니다. 이때는 단순히 '연결'만 할 게 아니라 엔진과 정책을 갈아엎어야 합니다.
1) 엔진 교체: Predis 버리고 PhpRedis로 가기
보통 워드프레스 Redis 플러그인은 설치하기 편한 Predis를 기본으로 씁니다.
하지만 이건 PHP로 만든 라이브러리라 무겁습니다. 반면 PhpRedis는 서버에 직접 설치하는 C언어 기반 모듈이라 속도가 압도적입니다.
- 왜 바꿔야 하나: 50GB 분량의 수많은 포스트 데이터를 읽어올 때, Predis는 매번 PHP를 로드하느라 렉을 유발합니다. PhpRedis로 바꾸면 지연 시간이 10배 이상 줄어듭니다.
- 적용 방법: SSH에서 모듈 설치 확인 후,
wp-config.php에 아래 한 줄을 박아주면 됩니다.
define('WP_REDIS_CLIENT', 'phpredis');
2) "창고가 꽉 차면 알아서 비워라" (메모리 정책 변경)
가장 많이 놓치는 부분입니다.
Redis 설정 파일인 redis.conf의 기본값은 보통 메모리가 꽉 차면 에러를 뱉고 멈추게 되어 있습니다(noeviction).
50GB 사이트에서 캐시 데이터가 쌓이다 창고가 터지면 바로 500 오류나 지연 시간 급증으로 이어집니다.
이럴 땐 터미널(SSH)을 열고 아래 '마법의 3줄'을 순서대로 입력하세요. Redis가 알아서 "오래된 데이터부터 버리면서 공간을 확보"하게 만드는 설정입니다.
# 1. 메모리 꽉 차면 오래된 것부터 삭제하도록 변경
redis-cli config set maxmemory-policy allkeys-lru
# 2. 데이터 지울 때 서버 멈춤(렉) 방지 설정
redis-cli config set lazyfree-lazy-eviction yes
redis-cli config set lazyfree-lazy-expire yes
3) 과부하인지 아닌지 확인하는 법
명령어를 입력했다면 이제 제대로 일하는지 봐야겠죠? 터미널에서 아래 명령어를 쳐보세요.
redis-cli info stats | grep ops_per_sec: 초당 처리 명령어 수입니다. 대규모 사이트여도 100~300 사이면 아주 쾌적한 겁니다.redis-cli config get maxmemory-policy: 결과가 allkeys-lru로 나오면 성공입니다.
이제 다시 워드프레스 관리자 화면의 지연 시간 그래프를 보세요. 1,600ms까지 솟구치던 파란 점들이 10ms~50ms 바닥으로 착 가라앉았다면 오늘 작업은 대성공입니다.
마치며 500 오류는 결국 '리소스 관리' 싸움입니다
카페24나 블루호스트 같은 환경에서 500 오류가 뜨는 건 서버가 보내는 최후의 비명입니다. 에러 로그로 원인을 잡고, Redis 엔진을 PhpRedis로 갈아주고, 메모리 정책만 제대로 세워줘도 웬만한 500 오류는 구경할 일이 없어집니다.
지금 여러분의 Redis 지연 시간은 몇 ms인가요? 한 번쯤 확인해 보시고 너무 높다면 위 설정들을 꼭 적용해 보시기 바랍니다.
자주 묻는 질문 (FAQ)
Q. .htaccess에 php_value error_log를 넣었는데, 파일이 아예 생성되지 않아요.
A. 가장 흔한 건 경로가 틀린 경우입니다. 카페24에서는 /home/hosting_users/아이디/ 아래로 지정했을 때 성공률이 높습니다. 그리고 php_flag log_errors on이 빠져 있으면 “파일이 안 생기는 것처럼” 보일 수 있어요.
Q. 로그를 켰더니 Predis/Redis 127.0.0.1:6379 에러가 계속 떠요.
A. Redis 캐시가 로컬 Redis를 찾고 있는 상태입니다. 공유 호스팅에서는 로컬 Redis가 없거나 막혀 있을 수 있어서, 이 경우 500으로 번지기도 합니다. 우선 캐시 플러그인을 끄고, wp-content/object-cache.php가 남아 있는지 확인해보세요.
Q. “WordPress database error Server shutdown in progress”는 제 코드 문제인가요?
A. 코드 문제일 수도 있지만, 현실적으로는 DB 연결이 순간 끊기는 환경 이슈로도 자주 뜹니다. 트래픽/리소스/무거운 쿼리/캐시 구성 문제 중 하나가 방아쇠가 되는 경우가 많고, 로그의 호출 스택을 보면 어떤 기능이 DB를 과하게 치고 있는지 윤곽이 잡힙니다.
Q. display_errors를 켜면 빨리 잡히던데, 계속 켜놔도 되나요?
A. 운영 사이트에서는 추천하지 않습니다. 화면에 경로/쿼리/서버 정보가 노출될 수 있어요. 문제 확인은 짧게 하고, 바로 끄는 쪽이 안전합니다.
Q. 500 오류가 간헐적으로만 떠서 로그 타이밍을 놓쳐요.
A. 그럴 땐 로그 파일을 미리 만들어 두고 (빈 파일로 업로드), 에러가 나는 시간대에 집중적으로 재현해보면 잡힙니다. 캐시/플러그인/테마를 하나씩 바꿔가며 비교하면, 간헐 오류도 의외로 빨리 윤곽이 나옵니다.
Q. 카페24에서 워드프레스 편집기(엘리먼트 등) 저장할 때만 500이 나요.
A. 이 패턴은 메모리나 실행 시간 부족이 섞여 있는 경우가 많습니다. 로그에 memory 관련 문구가 있으면 WP_MEMORY_LIMIT / PHP memory_limit을 함께 올려서 비교해보세요.
'IT 리뷰 > 블로그 SEO' 카테고리의 다른 글
| Bluehost VPS WHM 로그인 안 열릴 때(SSH 정상) 방화벽 타임아웃 해결 (0) | 2026.01.30 |
|---|---|
| 제로보드XE SSL 무료 인증서 HTTPS 적용 브라우저 경고 설치후기 (0) | 2026.01.22 |
| 제로보드에서 워프(워드프레스)로 마이그레이션 이전후기 설정방법 (0) | 2026.01.22 |