본문 바로가기
프로그래밍/홈 서버 운영 노하우

[원모 싸이버 홈 서버 운영 노하우] 홈 서버를 갖춰 보자!

by yonmoyonmo 2021. 7. 18.

요즘은 AWS나 MS Azure 등 으리으리한 클라우드 컴퓨팅 서비스가 많이 나와있지요.

요즘 웹 서비스는 클라우드가 대세이기도 합니다.

왜냐하면 확장과 관리가 편리하기도 하고 가성비 면에서도 합리적이기 때문이지요.

그래서 요즘 IT 스타트업들은 회사의 웹 서비스를 제공할 때 거의 다 AWS 등을 활용하고 있지요.

안 쓰면 망하기 때문입니다. (on-premise를 수요에 맞춰 늘렸다 줄였다 하는 비용이 조그마한 스타트업 재정에 부담이기 때문이지요)

그래서 새롭게 무엇을 배울 때 AWS 등 클라우드 위주로 학습하는 경향이 있습니다.(채용 수요가 이런데 있기 때문)

어떤 서비스를 어떻게 쓰며, 어떻게 최적화할 것인가를 아는 것이 요즘 운영 관리하는 푸로그래머의 덕목 중 하나가 되었지요?

그러니 역시 이제는 푸로그래머로써의 경쟁력 향상을 위해 클라우드에 시간을 더 투자하여 학습하는 것이 효율이 좋지요.

더 나아가 요즘은 개인 프로젝트 개발이나 단순 테스트도 클라우드 환경을 많이 이용하는 것 같습니다.

그리고 클라우드 서비스를 이용한다고 해서 서버에 쓰이는 운영체제를(CentOS나 Ubuntu 등) 몰라도 되는 것은 아니지요?

클라우드 서비스도 사실상 빌려 쓰는 on-premise이므로 on-premise관련 지식도 클라우드를 하다 보면 익힐 수 있게 됩니다.

심지어 클라우드 서비스들은 on-premise 환경에서 좀 귀찮게 하던 작업들을 편하게 만들어 주기까지 하니 대세가 될만하지요?
(데이터베이스로 예를 들면 AWS RDS가 클릭 몇 번으로 조져준다)

이러한 패러다임 속에서 프로그래머들은 생각합니다.

홈 서버니 뭐니 괜히 귀찮기만 하고 말이야!
요즘 어떤 찐따쉨이 굳이 집에 서버를 둠? ㄹㅇ ㅋㅋㅋ
방구석에서 전기나 먹고말이야!
완전 사서 고생 아니냐? ㅋㅋㅋ 애초에 필요가 없는 거 아님?? ㅋㄷㅋㄷㅋㄷㅋㄷㅋㄷㅋㄷㅋㄷㅋㄷㅋㄷ

 

그렇지만... 프로그래머로써 어떤 로망이 있잖습니까? 그리고 생각보다 이점도 많다! 

 

< 오로지 본인 만의 작고 귀여운 on-premise 갖게 되었을 때 후로그래머로써 얻을 수 있는 이점 >

1. 여러 가지 웹 실험을 부담 없이 해 볼 수 있다.

웹 프로그래머 여러분들, 보통 자신의 개발용 PC에서 localhost로 작업을 하시지요.

그렇게 만든 자신의 어플리케이션...

서비스해 보고 싶으시지 않으신가요?

요즘은 깃허브 페이지, 헤로쿠 등 간단하게 배포를 쉽게 해 주는 서비스가 많이 있긴 합니다만...

하지만 왜인지 부담되는 것이 사실입니다...

그리고 혹여나 자신의 작업물이 정적 웹사이트 등이 아니라... 백엔드 어플리케이션이라면?

AWS EC2를 알아봐야 하고... 더욱 귀찮고... 심리적으로 의지력 소모가 많습니다...

그리고는 그냥 포기해 버리시는 경우 많지요?

하. 지. 만!  자신만의 홈 서버가 있다면??

부담 없이 배포할 수 있습니다! 마음이 편하기도 합니다! 방구석에 항상 함께하는 나의 서버이기 때문이지요!

더욱 좋은 점은 편안한 나만의 작은 서버이기에! 이것저것 자기 맘대로!

root 완장을 차고 꼴리는 대로 할 수 있다는 점!

2. 서버 관리 연습

만약 AWS EC2를 사용하신다고 하더라도 EC2 인스턴스 운영체제 환경에서 이것저것 설정하고 지정할 수 있어야 합니다.

예로, 리눅스 우분투 환경에서 서비스한다 하면 리눅스 커맨드와 디렉터리 구조 등을 좀 알아야겠지요?

하지만 우리가 이거 연습하자고 EC2를 사용하면 좀 그렇지 않습니까? 프리티어 아깝지 않습니까?

1년 후에는 돈 내야 하는데 아깝지 않습니까?

(사실 이 부분은 VMware나 VirtualBox 같은 것을 쓰면 된다)

! 하! 지! 만! 

대충 안 쓰는 데스크탑(심지어 노트북도 가능함)과 인터넷 사용료, 전기 사용료만 있으면

영원히 서버 운영체제 다루기 연습을 하실 수 있습니다!!

거기다가 운영체제를 바꿔가면서 연습하기에도 엄청 편합니다! 그냥 날리고 새로 깔면 되거든요! 어차피 내꺼니까!
(EC2는 새 인스턴스를 만들어야 함)

3. 재미가 있다!

그냥 재밌습니다!

후로그래머라면 재밌을 수밖에 없는 자신만의 서버 컴퓨터 다루기!

4. 사실 별 이점 없다!

그렇습니다 그냥 있길래 하는 겁니다 저도! 어정쩡한 사양의 버려질 처지의 데스크탑이 없었다면 저도 홈 서버 운영안 했겠죠?!

 

아무튼 홈 서버 할 사람은 하고 안 할 사람은 안 하는 그런 것이겠죠?

저는 할 사람이었던 것임 ㅋㅋㅋㅋㅋㅋ

저는 가볍고 장난스러운 웹 서비스나 실험적인 것들 위주로 실제 서비스에도 이용해 보려고 합니다...

아무튼...

그러면 다 같이 원모 싸이버 홈 서버 운영 노하우를 알아볼까요?


홈 서버를 갖춰 보자!

저만의 작고 귀여운 가정용 데스크탑이었던 홈 서버(OS : Ubuntu Server 20.04 LTS)입니다.

꺼두기도 하는데 요즘은 원모싸이버스쿨(https://wonmocyberschool.com)서비스를 위해 켜 놓습니다.

뭐가 하나 고장 날 때까지 서비스를 하게될 운명인 원모 싸이버 홈 서버

일단 다짜고짜 홈 서버를 갖춰보자고 하긴 했는데요

정확하게 다시 말하겠습니다!

나만의 작은 "웹 서비스"를 위한 홈 서버를 갖춰보자!

그렇습니다. 홈 서버 아무도 안 쓰는 것 같지만 의외로 스펙트럼이 넓지요.

가정용 NAS 같은 것도 홈 서버의 영역에 있지요?

원모 싸이버 홈 서버는 홈 서버로 선택된 컴퓨터가 허락 하는 한에서의 웹 서비스를 하기 위한 홈 서버라고 범위를 좁혀 보겠습니다!

갖추는 법

홈 서버를 갖추기 위해서 먼저 챙겨야할 준비물이 있습니다.

준비물 :

  • 인터넷(보통 다들 인터넷 쓰시죠?) -> 챙겨짐
  • 공유기(요즘은 인터넷 제공회사들 공유기 달아주고 가지요?) -> 챙겨짐
  • 랜선(서버에 연결할 랜선입니다)
  • 컴퓨터 : 안 쓰는 데스크톱, 노트북 다 괜찮습니다.
  • 서버 운영체제 부팅 미디어(예 : 우분투 서버 20.04 LTS 부팅 USB) -> 이부분은 검색하면 바로바로 나옵니다.
    • -> 검색 예) 우분투 서버 부팅 유에스비 만들기

준비물을 다 챙겼다면 이제 홈 서버를 갖춰 볼까요?

1. 먼저 챙겨 놓은 컴퓨터 랜포트에 랜선을 꽂아줍니다.

2. 꽂은 랜선 반대쪽은 공유기의 비어있는 랜포트에 꽂아줍니다.

3. 챙겨 놓은 컴퓨터를 밀어버리고 준비한 운영체제를 설치합니다.

이제 당신은 홈 서버를 갖췄습니다!

 

하지만 웹 서비스를 위한 준비는 안되어 있죠?

다음 시간에 알아보겠습니다.

알아볼 것 :

  • ip 고정과 포트포워딩
  • ssh 연결
  • 웹 서버 nginx 설치와 웹 서비스에 대한 이해
  • 서버 어플리케이션 관리법 : pm2 등등
  • 보안문제?
  • 기타등등


댓글