내 개인 서버 삽질기

always0ne·2021년 1월 2일
0

프로젝트 후기

목록 보기
2/10

사용하던 랩탑을 바꾸면서, 어디에 사용할 수 있을까 하는 생각을 가지던 중, 개인 서버를 구축하고 싶어 시작한 프로젝트이다.

첫번째 서버

초기에는 SSH로 접속해 가며, 윈도우 환경에서 리눅스를 사용하는 목적으로 운영을 하고 있었고, 동아리에서 토이프로젝트로 채팅서버를 만들고 있을 때 채팅 서버로 사용했었다. 그러던 중 개인 도메인을 가지고 홈페이지와 이메일을 만들어 보고 싶어, 도메인을 붙이고, SMTP를 사용, 여러 메일 클라이언트를 붙여가며 실험을 해 개인 이메일을 사용했었고, 간단하게 HTML로 개인 페이지를 제작했었다.

우연히 입문한 웹개발

그러다 군 입대를 했고, 틈틈히 시간을 내 코딩공부를 하던 중 군장병 공개SW소집교육이라는 프로그램을 발견해 인프라 파트로 지원했고, 선발되었으나, 인원이 부족해 Web으로 배정되었다. 예정에도 없던 웹 프론트라 당황스럽지만 그 교육에서 Vue.js로 SPA(Single Page Application)을 만드는 법을 교육받았다. 이 교육 이후로 제대로된 이쁜 블로그를 만들어 보고 싶어서 Express와 Vue.js를 연동시킨 SPA와 RestApi를 사용하는 블로그 프로젝트를 시작했다. 출타때마다 PC방에 가서 개발을 했고, 외박때는 PC텔에가서 밤새가면서 만들었었다.

결국 뻗어버린 서버

그때는 GitHub이 private Repository가 유료기능이여서 기존 서버에 GitLab를 설치해 사용하였고, GUI 원격 접속을 해서 편하게 관리하고 싶어 Apache Guacamole프로젝트를 이용해서 웹기반 원격 접속을 구축해 사용했다. 하지만 구형 32비트 프로세서를 사용하던 구형 랩탑은 커널 오류를 무자비하게 뿜어내며 굉장히 불안정한 상태가 되었고, 원인을 확인하고 싶어 관제 프로그램을 설치해서 모니터링도 해보았지만, 결국 하드웨어 문제인 것으로 결론 짓고, 폐기하였고 중단되었다. 이때 아무생각없이 폐기해 버려서 그때 GitLab의 소스코드가 다 날아가 버려 그때 운영하던 블로그가 날아가 버렸다...

두번째 서버

전역을 한 후 컴퓨터를 새로 맞추면서 기존 컴퓨터를 버리기 아까워 다시 개인 서버 프로젝트가 시작되었다. 확실히 데스크탑용 프로세서라 빠르고 좋았지만, 구형 하드디스크 드라이브여서 IOWait가 상당히 많이 발생하고 있었다. 또 방안에 두니 서버 소음도 상당히 거슬렸다. 그래서 팬리스 파워랑 쿨러로 전부 교체하고, 하드디스크들을 레이드로 잡았다. 확실히 팬소음은 잡아 정숙했지만, IOWait는 구형 하드라서 레이드로 묶어도 어쩔수 없었던 것 같다.

서버는 Let's Encrypt에서 발급받은 SSL인증서로 HTTPS연결을 사용했고, Apache를 Reverse Proxy로 사용해 여러 서브도메인을 붙여서 작동시켰다. 모든 서비스는 Docker의 컨테이너 상에서 돌렸고 상당히 만족하며 사용했다. Portainer라는 좋은 Gui 관리 툴 덕도 많이 보는 중이다. 서버 관제, 웹 기반 원격 접속기, 컨테이너 관리, 개인NAS, 프로젝트용 테스트 서버등의 서비스를 돌려보며 사용했으며, Nas사용시 IOWait로 Block가 걸리는 것 이외에는 만족이었다.

현재

현재는 전기세 등의 문제로 GCP상에 간단하게 무료 인스턴스를 사용해서 사용하고 있으며, 급할때는 메인 데스크탑을 서버로 사용하고 있다.

profile
받은만큼 나눠주자

0개의 댓글