[가이드] 라즈베리 파이 5로 만드는 초저전력 ‘개인 웹 서버’ 세팅법
이전 가이드에서는 10년 된 구형 PC를 우분투 서버로 부활시키는 방법을 다뤘습니다. 그 방법은 강력한 성능과 ‘연습’에 초점을 맞췄지만, 24시간 365일 켜두기엔 ‘전기 요금’이라는 현실적인 고민이 따릅니다.
여기서 라즈베리 파이 5가 등장합니다.
신용카드만 한 크기에, 스마트폰 충전기(USB-C)로 작동하는 이 작은 컴퓨터는 ‘서버’라고 부르기 민망할 정도로 귀엽습니다. 하지만 그 성능은 10년 전 어지간한 PC를 능가하며, 무엇보다 **압도적인 ‘초저전력’**을 자랑합니다.
- 구형 PC 서버: 아이들(Idle) 시 50W~100W+
- 라즈베리 파이 5 서버: 아이들 시 약 3W~4W
한 달 내내 켜놔도 전기 요금이 거의 나오지 않아, 개인 블로그, 포트폴리오 사이트, 간단한 API 서버 등을 24시간 운영하기에 완벽한 선택지입니다.
이 가이드는 라즈베리 파이 5를 이용해 ‘Nginx’ 기반의 가벼운 개인 웹 서버를 구축하는 전 과정을 안내합니다.
1. 🛒 준비물: 무엇이 필요한가요?
- 라즈베리 파이 5: 메인보드.
- 공식 5V/5A USB-C 전원 어댑터: (필수) RPi 5는 안정적인 5A 전원을 요구합니다. 일반 스마트폰 충전기로는 성능 저하나 부팅 실패를 겪을 수 있습니다.
- MicroSD 카드: 32GB 이상, ‘A2’ 등급의 고속 모델 권장.
- 케이스 및 냉각 팬 (또는 방열판): RPi 5는 RPi 4보다 발열이 있습니다. 24시간 작동할 서버이므로 냉각 솔루션은 필수입니다.
- 유선 랜(Ethernet) 케이블: 서버는 무선(Wi-Fi)보다 유선 연결이 안정적입니다.
- 메인 PC: OS 설치 이미지를 MicroSD 카드에 구울 PC.
2. 💽 OS 설치: 모니터 없이 세팅하기 (Headless)
서버는 모니터, 키보드, 마우스가 필요 없습니다. OS 설치부터 ‘원격 접속(SSH)’을 미리 활성화하는 ‘Headless’ 방식으로 진행합니다.
- Raspberry Pi Imager 다운로드: 메인 PC에서 라즈베리 파이 공식 웹사이트로 이동해 ‘Raspberry Pi Imager’를 다운로드하고 설치합니다.
- OS 선택 및 설정:
- Imager를 실행하고 MicroSD 카드를 PC에 연결합니다.
- [CHOOSE DEVICE]:
Raspberry Pi 5선택 - [CHOOSE OS]:
Raspberry Pi OS (other)->Raspberry Pi OS Lite (64-bit)- 중요: ‘Lite’ 버전은 그래픽 화면(GUI)이 없는 텍스트 전용 OS입니다. 서버에 가장 적합하며 자원을 아낄 수 있습니다.
- [CHOOSE STORAGE]: 연결한 MicroSD 카드 선택
- (필수) Headless 설정:
- [NEXT] 버튼을 누르기 전, 우측 하단의 **’설정(톱니바퀴 ⚙️) 아이콘’**을 클릭합니다. (또는
Ctrl+Shift+X) - [General] 탭:
- Hostname: 서버 이름 설정 (예:
rp5-server.local) - Set username and password: 로그인 ID와 비밀번호 설정 (필수)
- Hostname: 서버 이름 설정 (예:
- [Services] 탭:
- Enable SSH: 반드시 체크.
Password authentication선택.
- [SAVE]를 누르고 [WRITE] 버튼을 눌러 OS 설치를 시작합니다.
- [NEXT] 버튼을 누르기 전, 우측 하단의 **’설정(톱니바퀴 ⚙️) 아이콘’**을 클릭합니다. (또는
3. 🔌 첫 부팅 및 원격 접속 (SSH)
- OS 설치가 완료된 MicroSD 카드를 라즈베리 파이 5에 삽입합니다.
- 유선 랜 케이블과 전원 어댑터를 연결합니다. (모니터/키보드는 필요 없습니다)
- 약 1~2분 정도 부팅 시간을 줍니다.
- IP 주소 찾기:
- 공유기 관리자 페이지(보통
192.168.0.1)에 접속합니다. - ‘연결된 기기 목록’에서 방금 설정한 호스트 이름(
rp5-server)을 찾아 IP 주소(예:192.168.0.15)를 확인합니다.
- 공유기 관리자 페이지(보통
- SSH 원격 접속:
- 메인 PC에서 터미널(PowerShell 또는 Terminal)을 켭니다.
ssh [설정 ID]@[방금 찾은 IP 주소]명령어로 접속합니다.
Bashssh pi@192.168.0.15 - (필수) 초기 시스템 업데이트: 접속에 성공했다면, 가장 먼저 시스템을 최신 상태로 만듭니다.
Bash
# 패키지 목록 새로고침 sudo apt update # 설치된 패키지 전체 업그레이드 sudo apt upgrade -y
4. 🚀 웹 서버 설치 (Nginx)
가장 가볍고 빠른 웹 서버 중 하나인 **Nginx(엔진엑스)**를 설치합니다.
- Nginx 설치:
Bash
sudo apt install nginx -y - Nginx 서비스 시작 및 활성화:
- 설치가 끝나면 Nginx는 자동으로 시작됩니다.
- 부팅 시마다 Nginx가 자동으로 켜지도록 ‘활성화’합니다.
Bash# Nginx가 부팅 시 자동으로 시작되도록 등록 sudo systemctl enable nginx - 방화벽 설정 (UFW): 라즈베리 파이 OS는 기본 방화벽(UFW)이 비활성화되어 있지만, 만약 활성화할 경우를 대비해 웹 포트(80, 443)를 열어줍니다.
Bash
sudo ufw allow 'Nginx Full' # sudo ufw enable (만약 ufw를 쓴다면 활성화) - 설치 확인: 이제 메인 PC의 웹 브라우저 주소창에 라즈베리 파이의 IP 주소 (예:
http://192.168.0.15)를 입력합니다.**”Welcome to nginx!”**라는 화면이 나타나면 웹 서버 구축에 성공한 것입니다!
5. 📂 내 웹사이트 파일 올리기
Nginx가 보여주는 기본 환영 페이지는 /var/www/html/index.nginx-debian.html입니다. 이제 이 위치에 우리가 만든 파일을 올리면 됩니다.
- 기본 인덱스 파일 백업 및 삭제:
Bash
# /var/www/html 경로로 이동 cd /var/www/html # 기존 파일 백업 (선택) sudo mv index.nginx-debian.html index.nginx-debian.html.bak - 새로운
index.html파일 만들기: 간단한nano편집기를 이용해 테스트용 HTML 파일을 만들어봅시다.Bashsudo nano index.html nano편집기가 열리면, 아래 내용을 붙여넣습니다.HTML<!DOCTYPE html> <html> <head> <title>My Raspberry Pi 5 Server</title> </head> <body> <h1>안녕하세요!</h1> <p>이 웹사이트는 제 방에 있는 라즈베리 파이 5에서 24시간 작동 중입니다.</p> </body> </html>- 저장하고 닫기:
Ctrl + X->Y->Enter
- 저장하고 닫기:
- 소유권 변경 (중요): Nginx(웹 서버 프로그램,
www-data계정)가 이 파일을 읽을 수 있도록 소유권을 변경해야 합니다.Bashsudo chown -R www-data:www-data /var/www/html - 최종 확인: 다시 웹 브라우저에서
http://192.168.0.15로 접속해 보세요. 방금 우리가 만든 “안녕하세요!” 페이지가 나타날 것입니다.
6. 🌐 다음 단계: 내 서버를 전 세계에 공개하기
축하합니다! 당신은 초저전력 개인 웹 서버를 갖게 되었습니다. 하지만 지금 이 서버는 ‘내부 네트워크(집 안)’에서만 접속할 수 있습니다.
이 서버를 전 세계 친구들에게 my-server.com 같은 주소로 공유하려면 몇 가지 추가 작업이 필요합니다.
- 포트 포워딩 (Port Forwarding):
- 공유기 설정에서 “외부에서 80번 포트(HTTP)로 들어오는 요청을 내 라즈베리 파이 IP(192.168.0.15)의 80번 포트로 연결해라”라고 설정해야 합니다.
- DDNS (동적 DNS):
- 가정집의 공인 IP는 수시로 바뀝니다.
DuckDNS같은 무료 DDNS 서비스를 이용해, IP가 바뀌더라도my-pi.duckdns.org같은 고정된 주소로 접속할 수 있게 설정해야 합니다.
- 가정집의 공인 IP는 수시로 바뀝니다.
- HTTPS 적용 (Let’s Encrypt):
http://가 아닌https://(보안 접속)을 사용하려면 무료 SSL 인증서인 ‘Let’s Encrypt’를 설치해야 합니다. ‘Certbot’이라는 도구를 사용하면 Nginx와 연동해 5분 만에 자동화할 수 있습니다.
이 3단계를 거치면, 여러분의 작고 소중한 라즈베리 파이 5는 전 세계 어디에서나 접속할 수 있는 진정한 ‘개인 웹 서버’가 됩니다.