티스토리 라이트세일 워드프레스로 이전하는 과정에 발생한 이슈들!!

티스토리 라이트세일 워드프레스로 이전하는 과정에 발생한 이슈들!!

지난주부터 티스토리 블로그를 워드프레스 블로그로 이전하기위해 많은 시간을 사용중이다.

방법이란 방법은 다 알아보고 삽질이란 삽질은 다 하고 있는 것 같다. 비트나미(bitnami) 워드프레스 PHP 버전 다운그레이드 작업 시도부터해서 기존에 사용중이던 워드프레스 블로그 환경을 티스토리 이전을 위한 자동포스팅용 환경으로 사용하기 위해 기존 워프 블로그를 스냅샷 떠서 아마존 라이트세일 워드프레스 복원 까지하였다.


HTML Import 2 플러그인 사용한 자동 포스팅

웹호스팅 중에 아마존 라이트세일 워드프레스로 이전하는 과정 중에 하나는 티스토리에서 백업받은 글들을 HTML Import 2 플러그인을 사용하여 모든글을 자동 등록하는 방법으로 진행되었다.

첫번째 블로그는 900건의 글이 있었고 아무 문제없이 정상적으로 자동 포스팅되었다. 모든 이미지까지 정상적으로 올라갔다. 첨부된 파일까지는 처리할 수 있는 방법을 찾지 못했다. 포스팅 글과 이미지만 자동 등
록되어도 얼마나 개꿀인가!!!!!

예외적으로 휴대폰에서 작성했던 글들 중에 스크린샷이나 첨부 사진을 올렸던 글들의 경우 이미지가 자동 업로드 되지않았다. 몇 개 안되니 글을 수정할 때 다시 등록해주면 된다. 올라가지 않는 이유는 이미지 명에 공백이 있는 경우에 발생된다. 이경우 이미지이름을 공백없이 붙여주고 본문html 에 해당 이미지 링크 역시 공백을 제거해주면 해결된다. 자동화 해주는 프로그램들이 있는데 굳이 그럴 필요까지는 없었다.


라이트세일 웹호스팅 CPU 사용률 문제 (버스트 가능 영역 진입)

그러나 즐거움도 잠시 두번째 블로그에서 문제가 터졌다.

2,600개의 글과 이미지들의 총 요량이 5.1GB였다.

아무 생각없이 HTML Importer 툴 화면에서 Submit 버튼을 클릭했다.

그리고 한 참 동안 작업이 돌아갔고 SERVER ERROR가 터졌다. 서버에서 작업 도중 끊긴것이다.

서버에서 시간초과되어 끊긴 것 같다는 생각을 하게되었다.

테스트 하기위해 2500개의 글을 500개씩 폴더를 쪼개서 다시 테스트를 시도했지만 여전히 동일하게 서버오류가 발생하였다.

실패하면 다시 모든글을 Database Reset 플로그인을 사용하여 초기화 하고 다시 작업을 시도했다.

Database Reset 플로그인을 사용하여 테이블 초기화시 post 테이블만 초기화 화면 모든글과 업로드되었던 이미지가 자동으로 삭제되었다.

이런 과정을 거치면서 지난 토요일을 모두 이 삽질에 반납했다.

토요일 밤 파일을 100개 단위로 폴더를 쪼갰다.

결과는 성공 반 실패 반이였다.



Server Error 발생 원인

서버 오류가 발생한 가장 큰 원인은 포스팅된 글에 첨부했던 이미지가 고용량의 사진이 다수 있을 경우 서버 오류가 발생했다. 그래서 그런 글들은 미리 리스트를 만들고 별도 폴더로 옮겨두고 작업을 진행했다.

그럼에도 불구하고 100개씩 할 때 여전히 Server Error오류가 발생했다.

그래서 아마존 라이트세일 관리자 사이트에 로그인 후 해당 인스턴스를 선택하고 “지표” 탭을 클릭하여 CPU 사용량 모니터링을 시작했다.

작업이 실패한 후 지표를 확인해보니 CPU 사용률 100%에 육박했다.

그래서 2600개의 글을 50개 단위도 쪼개서 약 50개의 폴더를 생성 후 하나씩 작업을 시도했다.


HTML Import 작업 실패없이 성공하는 방법

50개 단위로 쪼갠 폴더단위로 하나씩 작업 후 반드시 CPU 사용률을 체크한다.

그 다음 CPU 사용률이 지속 가능 영역으로 내려왔을 때 다시 작업을 돌린다.

이 과정을 반복한 결과 성공적으로 모든 글을 자동 포스팅 작업을 끝냈다.

만약 게시물에 4~8메가 이상의 사진들이 다수 포함되어 있는 글의 경우 1건씩 처리하길 추천한다.

그렇게 처리해도 아래와 같이 CPU를 굉장히 많이 잡아먹는다.

그렇게 나는 토요일과 일요일을 모두 티스토리 이전 작업에 반납했다.


티스토리 URL 숫자 방식에서 나타난 문제점 해결(Permalinks 설정)

또 다른 문제도 있었다. 티스토리 블로그 주소를 포스팅 제목이 아닌 숫자 형식(예로 www.tistory/120) 으로 사용하고 있었다.

그래서 당연히 워드프레스 관리자페이지 설정에서 Permalinks 설정 방식 중에 Numeric 방식을 선택하고 Custom Structure 에서 /%post_d%/ 를 선택하였다.

그랬더니 티스토리 URL과 내가 등록한 글들의 URL 의 숫자가 다르게 나왔다. 2차도메인으로 리다렉트 처리를 최근에 이전하기 위한 작업을 위해서 했기 때문에 반드시 티스토리 URL의 숫자와 워프 URL를 맞춰야만 했다.

리눅스의 경우 파일 처리시 폴더를 모두 문자로 인식하기 때문에 폴더의 숫자 기준으로 순차적으로 등록되지않았다. 이 문제는 Post name를 선택하면 자동 리다이텍트 되어 해결된다.

워드프레스 URL접근시 참고

post_id로 설정한경우, 포스트명과 id로 접근가능하지만, post_name으로 설정한경우 post_id로 접근불가하다.

그러나 URL 뒤에 “-2” 숫자가 붙어버린다.

이 부분에 대한 처리를 위해서는 RDMS 중에 MYSQL에 대한 지식이 필요하다.

아마존 라이트세일 워드프레스에 phpMyAdmin 플러그인을 설치 후 DB 작업을 해야하기 때문이다.


UpdraftPlus 플러그인을 사용하여 백업하기

또한 나의 경우 UpdraftPlus Backups 플러그인을 사용해서 db테이블과 업로드한 이미지 폴더를 백업 후 라이트세일에 새로운 워드프레스 인스턴스를 생성 후 복구해주는 작업도 필요하다. 지금 작업중인 인스턴스는 10달러 짜리여서 5달러 짜리를 생성해서 복구하기 위함이다.

백업 및 복구시 동일한 사이트인 경우에만 가능하다. 그렇지않으면 유료버전을 사용해야함으로 “워드프레스 고정IP 생성” 후 백업한 다음에 새로 이전하는 워드프레스에서 백업시 사용했던 고정IP를 사용하여 복구해야한다.

5기가가 넘었던 티스토리 블로그를 자동 포스팅으로 작성 후 백업하는 과정까지 끝냈다. 백업하는 과정에서도 라이트세일 블로그 서버의 CPU 사용률이 버스트 영역에 진입해서 조마조마했는데 다행히 성공했다.

백업 해서 결과를 보니 약 18기가나 된다. 18기가 백업하는게 걸리는 시간은 15분이 걸리지 않았다.

백업하는 과정을 실시간 로그를 통해서 볼 수 도있다.

Uploads 로 백업받아진 이미지 파일의 압축파일이 총 47개나 된다. 개당 약 400메가 정도이다.

나의 경우 Database와 Uploads 2개만 다운 받아서 새로운 비트나미 라이트세일 워드프레스 인스턴스 생성 후 백업받은 파일을 다시 올려서 복구해주면 된다.

UpdraftPlus 플러그인을 사용하여 복구하기

새로운 인스턴스 생성 후 워드프레스 관리자 사이트(Your IP/wp-admin)에 로그인하고 UpdraftPlus 플러그인을 설치하고 활성화시킨다. 그다음 설정 창에와서 “upload backup files”를 클릭하여 다운받은 백업 파일들을 모두 업로드 해준다.

다운받은 백업 파일을 일괄로 드래그하여 붙여넣는다. 어차피 파일 하나씩 업로드 되기 때문이다.

복구 작업의 마지막으로 복구 대상을 체크 후 Restore를 클릭하여 복구해준다.

복구 대상을 선택 후 Next 버튼을 클릭하여 다음으로 넘어간다.


Restore 버튼을 클릭하여 복구를 시작한다.
40GB짜리 호스팅을 사용하려하였으나 백업파일 용량이 총 18기가 가까이 되다 보니, 복구하다가 디스크 공간이 부족하여 실패가 발생했다.

그리고 또 한가지 스냅샷을 떠서 새로운 인스턴스를 만들려고 시도했으나 이 역시 하드 디스크 공간 부족으로 스냅샷을 뜰 수 없는 문제가 생겼다. 요금제를 한 단계 업그레이드 해서 사용해야 할 듯 싶다.


카테고리의 다른 글
error: Content is protected !!