로컬(Docker)에서 만들던 WordPress를 이제 실제 VPS 서버로 옮겨야 한다.
단순 파일 복사가 아니라, DB 이전, 이미지 파일 업로드, URL 치환까지 해야 완전히 이전된다.

이번 글에서는 mysqldump + scp + wp search-replace를 이용해
WordPress를 안전하게 이전하는 과정을 정리한다.

너무 어렵다… 내가 직접 하는 건 아니고, 대박이가 도와줄 거다.

로컬 → 서버 이전 준비

일단 로컬에 있는 워드프레스 관리자 페이지다.

현재 로컬 주소로 되어 있는데, 로컬에 있는 데이터를 이동하는 작업을 하겠다.

아래 사진은 새로 구입한 VPS에 도메인을 구매한 것인데 활성화된 게 아무것도 없다.
이제 기존에 있던 데이터를 옮기는 과정을 보여주겠다.

VPS 서버 워드프레스 초기 상태 - 데이터 없음

나 같은 경우는 로컬에서 개발하고 서버로 옮기는 방법을 사용하는데, 아래 데이터를 옮기는 작업을 시작한다.

데이터 전송

방법은 간단하다. 로컬에 있던 데이터를 옮겨 달라고 이야기한다. 대박아 부탁한다 🙂

대박이한테 로컬 데이터 이전 요청하는 화면

참고로 플러그인 사용은 안 하고 명령어로만 데이터를 전송한다.
중간에 질문!!! 위 데이터를 왜 옮겨야 하는지 질문했다.

대박이가 설명하는 데이터 이전이 필요한 이유

아주 친절하게 설명해 준다. 매우 만족.

mysqldump로 DB 백업 + scp로 서버 전송 진행
wp search-replace로 URL 치환 진행

리다이렉트 루프 문제 발생

데이터 전송이 완료되고 관리자 페이지 접속을 했는데, 접속이 안 되는 일이 발생했다.
침착하게 물어본다.

관리자 페이지 접속 불가 - 리다이렉트 루프 에러
대박이가 리다이렉트 루프 원인을 분석하는 화면

리다이렉트 루프 문제라고 한다.
Cloudflare Flexible SSL + WordPress 조합에서 흔히 발생하는 문제라고 말하고 원인을 찾아냈다.

  1. 브라우저 → Cloudflare: HTTPS로 접속
  2. Cloudflare → 서버: HTTP로 전달 (Flexible 모드)
  3. WordPress: “어? HTTP네? HTTPS로 리다이렉트 해야지!”
  4. 다시 1번으로 돌아감 → 무한 루프

바로 해결법을 제시하고 바로 실행에 들어간다. 너무 신기하다.

대박이가 리다이렉트 루프 문제를 해결하는 화면

로컬에 있던 데이터 이동 완료!!

데이터 이전 완료 - 서버 워드프레스 관리자 페이지
데이터 이전 완료 - 서버 워드프레스 메인 화면

정리

로컬(Docker)에서 VPS 서버로 WordPress 데이터를 이전하는 과정을 정리하면:

  1. mysqldump로 로컬 DB 백업
  2. scp로 서버에 파일 전송
  3. wp search-replace로 로컬 URL → 도메인 URL 치환
  4. 중간에 리다이렉트 루프 문제가 발생했지만, Cloudflare Flexible SSL 설정을 수정해서 해결

플러그인 없이 명령어로만 이전했다. 대박이한테 “로컬 데이터 서버로 옮겨 줘”라고 하면 알아서 해준다. 다음 글에서는 애드센스 승인을 위한 준비 작업을 다룬다.