Vultr의 Hestia CP에서 호스팅되는 워드프레스 500 내부 서버 오류(Internal Server Error)가 발생하는 문제 해결을 맡았습니다. SFTP에 접속하여 wp-config.php 파일에서 디버그 모드를 활성화했지만 에러 로그가 표시되지 않아서 SSH에 접속해서 에러 로그를 확인하여 문제를 해결하고 추가적인 조치를 취했습니다.
📍 클라우드웨이즈 할인 프로모 코드 & 가입 방법 (+60% 쿠폰)
Vultr 서버 워드프레스 500 오류 문
제 해결
Vultr에서 서버를 직접 생성하는 경우 헤스티아 컨트롤 패널(Hestia CP)과 같은 웹서버 컨트롤 패널을 이용하여 워드프레스를 관리할 수 있습니다. Hestia CP나 CyberPanel과 같은 컨트롤 패널을 이용하면 비교적 편리하게 사이트를 관리할 수 있지만 서버나 웹 컨트롤 패널 또는 워드프레스와 관련하여 문제가 발생할 경우 직접 해결해야 하기 때문에 서버에 대한 지식이 어느 정도 필요합니다.
다행해 요즘은 챗GPT나 제미나이와 같은 AI의 도움을 받아 문제가 발생할 경우 예전에 비해서는 어느 정도 효과적으로 대응할 수 있는 것 같습니다.😄
참고로 클라우드웨이즈(Cloudways)에서는 Vultr 서버(서울 리전)를 선택할 수 있지만, 비용적인 면에서 Vultr에서 직접 이용하는 것보다 높습니다. 편리한 웹 관리 패널과 24시간 연중무휴 라이브 채팅을 통한 고객지원(서버뿐만 아니라 워드프레스 관련 문제도 문의 가능)을 제공하기 때문에 비용이 비싼 편이지만, 초보자도 쉽게 서버를 관리할 수 있다는 이점이 있습니다.
Vultr나 AWS에서 서버를 직접 운영하다가 서버 문제 해결을 위해 더 많은 비용을 들이는 경우를 자주 접합니다. 또한, 스팸 봇 공격을 효과적으로 방어하지 못하거나 서버 최적화를 제대로 하지 않을 경우 오히려 클라우드웨이즈보다 더 많은 비용이 들기도 합니다.
Vultr에서 호스팅되는 워드프레스 사이트에 접속하면 아래 그림과 같이 Internal Server Error가 발생하는 문제가 발생했습니다.

Hestia CP를 사용하는 경우 워드프레스 설치 경로는 /home/사용자계정/web/도메인명/public_html 폴더가 됩니다.
살펴보니 사이트 개수가 43개나 되었는데, 한 사이트만 제대로 운영되고 있고 나머지는 거의 사용을 안 한다고 하네요.😥

먼저 wp-config.php 파일에서 디버그 모드를 활성화했지만, 에러 로그가 표시되지 않았습니다. 오류 메시지가 표시가 안 되는 이유는 여러 가지가 있겠지만, 1) 에러의 발생 위치가 '워드프레스'가 아닌 '웹 서버'였기 때문이거나 2) 서버 설정(php.ini 등)에서 보안을 이유로 display_errors = Off로 강제 지정해 둔 경우 중 하나일 것 같습니다.
다른 방법으로 SSH에 접속해서 최근 발생한 에러 로그 50줄을 바로 확인할 수 있도록 했습니다.

액세스 로그와 에러 로그를 검토하여 오류의 원인을 어느 정도 파악할 수 있었습니다.
오류 원인 및 조치
오류 발생 원인
- 직접적 원인 (에러 로그): Nginx 웹 서버에서 upstream timed out (110: Connection timed out) 오류가 발생했습니다. 이는 앞단의 웹 서버가 백엔드(PHP-FPM)로 작업을 넘겼으나, 백엔드가 정해진 시간 안에 작업을 마치지 못해 강제로 연결이 끊어진 상태입니다. 이 경우 방문자에게는 502, 504 또는 500 에러 화면이 노출됩니다.
- 근본적 유발 요인: 앞서 확인한 access.log 내용처럼 ClaudeBot, SemrushBot 등 무수히 많은 크롤러들의 접속이 짧은 시간에 몰려 서버 자원이 고갈되었거나, 워드프레스 내부의 무거운 작업(페이지 빌더 로딩, 대규모 DB 쿼리 등)을 처리하기에 기존 PHP의 실행 한계 시간(기본 30초 등)이 턱없이 짧았기 때문입니다.
조치 내역
HestiaCP 제어판을 통해 PHP 8.2의 환경 설정을 넉넉하게 상향 조정하여, 서버가 트래픽과 무거운 작업을 끝까지 처리할 수 있는 충분한 '시간'과 '메모리'를 확보해 주었습니다.
- memory_limit ➜ 512M: PHP가 한 번의 작업을 처리할 때 끌어다 쓸 수 있는 메모리를 대폭 늘려, 무거운 쿼리 실행 시 프로세스가 죽는 현상을 방지했습니다.
- max_execution_time ➜ 600: 작업 최대 허용 시간을 600초(10분)로 연장하여 복잡한 프로세스 도중 타임아웃이 발생하지 않도록 조치했습니다.
- max_input_time ➜ 300: 데이터 입력을 받아들이고 분석하는 시간 역시 실행 시간(300초)과 동일하게 맞추어 안정적인 밸런스를 확보했습니다.
- post_max_size ➜ 256M: 게시글 작성, 폼 제출, 업로드를 포함해 한 번에 서버로 전송할 수 있는 전체 데이터 양의 한도를 높였습니다.
- upload_max_filesize ➜ 256M: 개별 파일의 업로드 최대 제한을 상향하여, 고용량 미디어나 무거운 플러그인/테마(ZIP)를 에러 없이 업로드할 수 있도록 열어두었습니다.

사이트에 케이보드와 망보드가 설치되어 있었는데, 클라이언트께서 게시판에 자동으로 글을 올리고 있다고 하네요. 아마 이 때문에 문제가 되었던 것 같습니다. (자동 포스팅 플러그인이나 프로그램을 사용하여 포스팅할 경우 서버 리소스가 충분하지 않으면 서버 CPU나 램 사용률이 급증하여 서버가 다운되거나 매우 느려지는 경우가 잦습니다.)
그리고 Wordfence를 설치하여 악성 봇을 차단할 것을 건의했지만 클라이언트의 마케팅 전문가가 봇을 차단하면 안 된다는 의견을 제시하여 워드펜스는 설치하여 세팅하지 않았습니다.
마치며
Vultr나 AWS 등에서 서버를 관리하는 경우 문제가 발생하면 SSH에 접속하여 원인을 파악하고 서버 세팅이나 Hestia CP 등 컨트롤 패널에서 조치를 취해 문제를 해결해야 하므로 초보자에게는 쉽지 않을 수 있습니다.
워드프레스나 웹호스팅(카페24, 클라우드웨이즈, Vultr 등) 관련 문제로 해결에 어려움을 겪는 경우 아래에서 서비스(유료)를 의뢰하실 수 있습니다.😄
서비스 문의 페이지 - 워드프레스 포럼
빠른 웹호스팅 빠른 속도와 괜찮은 리소스의 웹호스팅을 원하는 경우 Vultr, Linode, DigitalOcean, AWS 등의 서버를 선택할 수 있는 클라우드웨이즈를 고려할 수 있습니다. 사이트 규모에 따라 서버 크
www.thewordcracker.com
참고
https://avada.tistory.com/3998
클라우드웨이즈 서버 크기를 줄이는 방법 (요금제 낮추기)
블로그를 시작하는 단계에서는 사이트 1개를 운영한다면 카페24를, 여러 개의 사이트를 운영한다면 케미클라우드(ChemiCloud)와 같은 가성비 좋은 웹호스팅으로 시작할 수 있습니다. 방문자 수가
avada.tistory.com
https://avada.tistory.com/3948
카페24의 10G 호스팅 상품 워드프레스 PHP 버전 업그레이드 작업
카페24의 10G 자이언트플러스 상품에서 호스팅 중인 워드프레스 사이트의 PHP 버전 업그레이드 작업을 의뢰받았습니다. 10G 상품은 오래전 상품으로 단종된 지 꽤 된 것 같습니다. PHP 버전은 7.4가
avada.tistory.com