OTT프로젝트를 작업하면서 계속 생각했었던 것 중 하나는 호스트서버를 마련해서 실제로 프로젝트를 배포해 보는 것이었다. 하지만 워낙 정신없이 지나간 한달이기에 아쉽게도 정해진 기간이 종료될 동안 결국 배포작업은 진행하지 못했다. 프로젝트 기간 내 이것저것 경험해 보고 싶었던 것들이 많았는데 그중에서도 배포작업만큼은 공부와 경험 목적에 있어서도 꼭 한번 해보고 싶었기 때문에 많은 아쉬움으로 남았다. 그래서 이번에 개인적 공부로 프로젝트의 배포 작업을 따로 진행해 보고자 한다. 그리고 이왕이면 배포작업을 진행하면서 Docker 관련된 공부도 병행하면 좋을 것 같았기에 한번 같이 진행해 보기로 마음 먹었다😋
프로젝트의 배포서버로는 AWS EC2 프리티어 인스턴스를 사용하기로 했다. 무료이기도하고 AWS는 시중에 존재하는 여러 클라우드 서비스 중에서도 워낙 유명하니까 경험상으로도 좋은 선택일 것 같았다. 배포서버의 OS를 우분투로 선택하여 바로 인스턴스 1개를 대여받았다 (Ubuntu-bionic-18.04-amd64)
그런데 EC2 인스턴스를 생성하면서 계속 마음에 걸렸던 것이 하나 있었는데 EC2 프리티어 정책에서 제공하는 컴퓨팅 사양이 그리 넉넉치 않다는 것이었다. 프리티어 사양으로 싱클코어 CPU 1개, 메모리 1GB, 저장공간 30GB 가 제공된다고 적혀있던데 다른 부분은 다 그렇다고 치더라도 메모리 1GB는 웹서버를 구동하기에 충분하지 않을 것 같다는 느낌을 버릴 수가 없었다.
실제로 배포서버에 간단하게 톰캣을 설치하고 WAR 파일만 가져와 구동 테스트를 해본 결과, 아무래도 1GB 메모리로는 한계가 있었던 것인지 페이지 이동과 같은 단순한 작업처리도 제대로 수행하지 못할 정도로 너무 느렸고 도중에는 아예 리소스 부족으로 인스턴스가 먹통이 되는 현상도 발생하였다. 방법이 없을까 고민하다가 가상메모리를 한 번 이용해 보기로 하였고, Swap파일을 생성하여 2GB의 가상메모리를 추가로 할당해 보았다. 가상메모리 추가 할당 이후 서버구동 테스트 결과는 나름 만족할 만한 수준이었고 최종적으로 EC2 프리티어 인스턴스로 웹서버 배포작업을 진행하는 것으로 결정지었다.
다른 분들의 개발관련 글들을 읽다 보면 MSA부터 시작해 Docker, 쿠버네티스, CI/CD 관련 내용들을 자주 접하게 된다. 그런 글들을 읽으면서 언젠가 한번 공부해 보고 싶다는 마음을 어느샌가 갖게 되었는데, 프로젝트 배포작업을 앞에 두고 지금이야말로 Docker를 공부하고 경험해 볼 수 있는 좋은 기회가 아닌가라는 생각이 들었다. 따라서 별다른 고민 없이 배포작업을 진행하면서 바로 Docker 관련 공부도 같이 시작하기로 하였다😜
회원가입 Page 반응형 작업
회원가입 Page -> 로딩이미지 추가
모바일DeviceVer Zoom Action 제한
모바일DeviceVer Ver 반응형 최적화
글,댓글 삭제 기능개선(테이블 칼럼 직접삭제 -> 상태값 이용)
오류페이지 출력처리개선
좋아요 멤버 리스트 출력 개선(페이지 이동없이 출력되도록. 동기식->비동기식 통신) Ajax
최근공지 출력순서 오류 수정(가장 오래된 글이 먼저 출력되는 오류 -> 가장 최근에 등록된 글이 먼저오게끔 변경)
게시글 출력순서 오류수정(가장 오래된 공지글이 먼저 출력되는 오류 -> 가장 최근에 등록된 공지글이 먼저오게끔 변경)
자동매칭 파티생성 Page 모바일버전 출력 오류 개선(반응형)
OS에 따른 Date 출력문자열 형태로 인한 오류 수정 -> ORA-01861: literal does not match format string 관련 오류