첫 글을 자동 발행했더니, 공개하자마자 사이트가 죽었습니다 — FTP로 되살린 이야기

블로그에 글을 하나 자동으로 발행하는 스크립트를 만들었습니다. 초안을 넣으면 이미지 올리고, 카테고리 붙이고, 비공개 글로 만들어주는 것까지요. 첫 글이 잘 올라갔고, 관리자 화면에서 확인한 뒤 공개 버튼을 눌렀습니다. 여기까지는 완벽했어요.

그런데 공개하자마자 — 사이트 전체가 죽었습니다.

“심각한 오류가 발생했습니다”

새로고침을 하니 글은커녕 사이트 홈조차 안 뜨고 이 문구만 나왔습니다.

이 사이트에 심각한 오류가 발생했습니다.

심장이 철렁했죠. 방금 제가 뭘 잘못 눌렀나 싶었습니다. 발행 스크립트가 사이트를 망가뜨린 건가? 제일 먼저 그 의심이 들었어요. 방금 손댄 게 그거였으니까요.

치명적 오류(fatal error): 프로그램이 더 진행할 수 없어 아예 멈춰버리는 오류. 워드프레스에서 이게 나면 페이지가 통째로 안 뜹니다. 문법 틀린 문제 하나 때문에 시험지 전체를 못 넘기는 것과 비슷해요.

복구 링크를 눌렀더니 — 또 다른 벽

워드프레스는 이런 상황에 대비해 관리자 이메일로 복구 링크를 보냅니다. 안전 모드로 들어가 문제를 고칠 수 있게 해주는 링크예요. 반가운 마음에 눌렀는데:

Recovery Mode not initialized.

복구 모드조차 열리지 않았습니다. 문제를 고치러 들어가는 문이 잠겨 있는 셈이죠. 이쯤 되니 관리자 화면(/wp-admin) 자체가 아예 안 열렸습니다. 사이트를 고치는 정상적인 길이 전부 막힌 겁니다.

여기서 잠깐 멈추고 생각을 정리했어요. 화면으로 들어가는 길이 다 막혔다면, 화면을 거치지 않고 파일에 직접 손대는 수밖에 없다. 그게 FTP였습니다.

FTP: 내 컴퓨터와 웹사이트 서버 사이에 파일을 직접 주고받는 통로. 브라우저(관리자 화면)를 거치지 않고 서버 안의 파일을 탐색기처럼 열어볼 수 있습니다. 사이트가 죽어서 화면으로 못 들어갈 때의 비상구예요.

범인은 내 발행이 아니라 엉뚱한 플러그인이었다

FTP로 서버에 접속해 플러그인 폴더를 열어봤습니다. 워드프레스는 플러그인 폴더의 이름을 바꾸면 그 플러그인을 로드하지 못하게 됩니다. 즉, 문제를 일으키는 플러그인을 강제로 꺼버리는 방법이죠. 의심 가는 플러그인의 폴더 이름을 바꿨더니 — 사이트가 즉시 살아났습니다.

플러그인: 워드프레스에 기능을 더해주는 부품. 편하지만, 그중 하나라도 서버와 안 맞으면 사이트 전체를 멈출 수 있습니다.

여기서 중요한 사실 하나. 범인은 제 발행 작업과 아무 상관이 없는 플러그인이었습니다. 제가 글을 공개한 그 순간과 겹쳤을 뿐, 발행 스크립트가 망가뜨린 게 아니었어요. 공교롭게 타이밍이 겹쳐서 “방금 내가 한 것” 때문이라고 착각했던 겁니다.

이게 오답노트에 적어둘 만한 지점이에요. 문제가 터진 시점과 원인이 항상 같지는 않습니다. 방금 내가 만진 것부터 의심하는 건 자연스럽지만, 그것만 붙잡고 있으면 진짜 원인을 못 봅니다. 채점하다 틀린 답을 발견하면 “마지막에 쓴 줄”만 보는 게 아니라 풀이 전체를 되짚어야 하는 것과 같죠.

그래서 뭘 하면 되나

같은 상황 — 사이트가 갑자기 “심각한 오류”로 죽었을 때 — 이 순서로 대응하세요.

상황판단할 일
사이트 전체가 “심각한 오류”대개 플러그인/테마 충돌🔴 관리자 이메일의 복구 링크부터
복구 링크·관리자 화면도 안 열림정상 경로 다 막힘🔴 FTP로 서버 직접 접속
FTP 접속됨범인 후보 격리🔴 의심 플러그인 폴더명 변경해 강제 비활성
살아난 뒤방금 만진 것부터 의심하되🟡 원인과 타이밍은 별개일 수 있음

한 문장 요약: 화면으로 들어가는 길이 다 막혀도 FTP라는 비상구가 있고, 사이트를 죽인 범인이 꼭 방금 내가 만진 것은 아니다.

무섭게 들리지만, 정작 복구는 폴더 이름 하나 바꾼 게 전부였습니다. 사이트가 죽는 순간은 심장이 철렁하지만, 비상구(FTP)를 알고 있으면 5분 안에 되살릴 수 있다는 걸 이번에 배웠어요. 혼자 블로그를 굴리는 분이라면, 사이트가 멀쩡할 때 미리 FTP 접속 정보를 한 번 확인해두시길 권합니다. 정작 필요한 순간엔 관리자 화면이 안 열려서 그 정보를 찾을 데가 없거든요.


댓글 남기기