구형 노트북을 홈서버로 - ngrok으로 외부 공개까지

반응형


집 어딘가에 먼지 쌓인 구형 노트북 있으신가요? 성능이 낮아서 쓰기 애매하고 버리기도 아까운 그 노트북, 홈서버로 만들면 폰보다 훨씬 안정적인 서버가 됩니다.


노트북 홈서버 vs 폰 서버

앞서 소개한 폰 서버와 비교하면 이렇습니다.

폰 서버
- 발열 심함
- 배터리 수명 단축
- 성능 제한적

노트북 홈서버
- 발열 관리 쉬움
- 충전기 연결하면 배터리 걱정 없음
- 성능 여유 있음
- 키보드/화면 있어서 관리 편함

오래된 노트북이라도 웹서버 용도로는 충분합니다.


준비물

✅ 구형 노트북 (Windows/Mac/Linux 무관)
✅ 충전기 연결
✅ Wi-Fi 또는 유선 인터넷
✅ ngrok 계정 (ngrok.com 무료 가입)

1단계 - Node.js 설치

nodejs.org 접속 → LTS 버전 다운로드 → 설치합니다.

설치 확인:

node -v
npm -v

버전 숫자가 뜨면 성공입니다.


2단계 - 웹서버 실행

올릴 파일이 있는 폴더로 이동 후 서버를 실행합니다.

정적 파일 서버 (HTML/CSS/JS)

npx serve 폴더경로

# 현재 폴더라면
npx serve .

실행하면 이런 메시지가 뜹니다.

Serving!
- Local:    http://localhost:3000
- Network:  http://192.168.0.10:3000

브라우저에서 http://localhost:3000 으로 접속하면 내 사이트가 보입니다.


Node.js 서버 (백엔드 포함)

Express로 간단한 서버를 만들려면 이렇게 합니다.

mkdir my-server && cd my-server
npm init -y
npm install express
// server.js
const express = require('express');
const app = express();

app.use(express.static('public'));

app.get('/api/hello', (req, res) => {
  res.json({ message: '홈서버 작동 중!' });
});

app.listen(3000, () => {
  console.log('서버 실행 중: http://localhost:3000');
});
node server.js

3단계 - ngrok으로 외부 공개

로컬에서 실행 중인 서버를 외부에서 접속 가능하게 만듭니다.

ngrok 설치

ngrok.com 접속 → 무료 가입 → 운영체제에 맞는 파일 다운로드

Windows라면 압축 풀면 ngrok.exe 파일 하나가 나옵니다.

인증 토큰 설정

ngrok 대시보드에서 토큰을 복사 후 실행합니다.

ngrok config add-authtoken 발급받은토큰

외부 공개

ngrok http 3000

실행하면 이런 화면이 뜹니다.

Session Status    online
Forwarding        https://abc123.ngrok-free.app -> localhost:3000

https://abc123.ngrok-free.app 주소로 전 세계 어디서든 접속 가능합니다.


4단계 - 노트북 뚜껑 닫아도 서버 유지하기

기본적으로 노트북 뚜껑을 닫으면 절전 모드로 들어가 서버가 끊깁니다.

Windows

설정 → 전원 및 배터리 → 전원 단추 및 덮개
→ 덮개를 닫을 때: 아무것도 안 함

Mac

시스템 환경설정 → 배터리
→ 전원 어댑터 연결 시 디스플레이 끄기: 안 함

이렇게 설정하면 뚜껑을 닫아도 서버가 계속 실행됩니다.


서버 자동 시작 설정

노트북을 재시작했을 때 서버가 자동으로 켜지게 하려면 pm2를 사용합니다.

npm install -g pm2

# 서버 시작
pm2 start server.js --name my-server

# 재부팅 후 자동 시작 등록
pm2 startup
pm2 save

이제 노트북을 재시작해도 서버가 자동으로 실행됩니다.


현실적인 한계

단점:
- 집 인터넷 끊기면 서버도 끊김
- ngrok 무료 플랜은 주소가 재시작마다 바뀜
- 전기세 (저전력 노트북이라면 월 몇천 원 수준)
- 보안 직접 관리 필요

ngrok 주소가 매번 바뀌는 문제는 ngrok 유료 플랜(월 8달러) 이나 Cloudflare Tunnel(무료) 로 고정 주소를 만들 수 있습니다.


Cloudflare Tunnel - 고정 주소 무료로 만들기

ngrok 대신 Cloudflare Tunnel을 쓰면 고정 주소를 무료로 사용할 수 있습니다. 단, 본인 소유 도메인이 있어야 합니다.

# cloudflared 설치 후
cloudflared tunnel create my-tunnel
cloudflared tunnel route dns my-tunnel mysite.com
cloudflared tunnel run my-tunnel

도메인이 있다면 이 방법이 ngrok보다 훨씬 안정적입니다.


마치며

구형 노트북 + Node.js + ngrok 조합으로 완전 무료 홈서버가 완성됩니다.

Node.js 설치 → 서버 실행 → ngrok 연결
→ 외부 접속 가능 → pm2로 자동 시작 등록

클라우드 서버 비용 없이 테스트, 데모, 개인 프로젝트 서버를 운영할 수 있습니다.

다음 글에서는 Oracle Cloud 무료 서버 제대로 쓰는 법을 다뤄보겠습니다. 홈서버보다 안정적인 무료 클라우드 서버입니다.


 

반응형