-
[4월 4주차-4/24]RubiBlog: Django + Amazon Lightsail 배포기Why Not SW CAMP 5기/수업 기록 2025. 4. 24. 13:13
오늘은 제가 직접 개발한 블로그 프로젝트 RubiBlog를 AWS Lightsail을 통해 실제 서비스로 배포한 경험을 정리해보려 합니다.
🚀 프로젝트 개요
- 프레임워크: Django 4.2
- 기능:
- 회원가입 / 로그인 / 로그아웃
- 글 작성 및 댓글 달기
- 인스타그램 피드형 레이아웃
- 썸네일 업로드 기능
- 배포 플랫폼: Amazon Lightsail
🙌 개발부터 배포까지의 여정
1. 프로젝트 구조 정리
RubiBlog/ ├── blog/ # 블로그 앱 ├── users/ # 사용자 관련 기능 앱 ├── templates/ # 템플릿 폴더 ├── static/ # CSS, 이미지 등 정적파일 ├── media/ # 업로드 이미지 저장
- 템플릿 구조도 깔끔하게 정리했습니다:
- blog/post_list.html
- users/signup.html, login.html
- base.html
2. 스타일 분리
기존에는 <style> 태그를 직접 쓰고 있었지만, static/css/style.css로 따로 빼서 관리했어요.
settings.py 설정
STATIC_URL = '/static/' STATICFILES_DIRS = [BASE_DIR / 'static'] STATIC_ROOT = BASE_DIR / 'staticfiles'
그리고 꼭 아래 코드도 urls.py에 추가해줘야 해요:
from django.conf import settings from django.conf.urls.static import static urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
3. Amazon Lightsail 배포
- Ubuntu 인스턴스 생성 후 접속
- Python, pip, venv 설치
- Django 프로젝트 복사 (혹은 git clone)
- .venv 가상환경 세팅 후 패키지 설치
- DB 마이그레이션 및 슈퍼유저 생성
- 개발 서버 실행:
python manage.py runserver 0.0.0.0:8000
ALLOWED_HOSTS에는 Lightsail 고정 IP 입력 꼭!
ALLOWED_HOSTS = ['15.xxx.xxx.xxx']
🌟 결과물 미리보기
- 기본 홈화면
- /blog/feed/: 인스타그램 스타일 피드형 글 목록
- 댓글도 바로 달 수 있는 구조
❤️ 이 글이 Django 프로젝트 배포 준비 중인 분들께 도움이 되었으면 좋겠습니다!
필요하신 분은 언제든지 댓글 주세요 :)
'Why Not SW CAMP 5기 > 수업 기록' 카테고리의 다른 글
[4월 5주차-4/29~30]🌐 Django로 나만의 로그인 + 이미지 북마크 웹사이트 만들기 (feat. 구글 소셜 로그인까지) (2) 2025.04.30 [4월 5주차-4/28~29]🎯 Django 블로그 프로젝트 (0) 2025.04.29 [4월 4주차-4/22]📝 Django로 블로그 만들기 – 글/댓글/썸네일까지 (0) 2025.04.22 [4월 4주차-4/21]🍔 Django로 햄버거 검색 웹 만들기 (0) 2025.04.21 [4월 3주차-4/15-16]Node.js & AWS를 활용한 이미지 갤러리 웹사이트 구축기 (0) 2025.04.16