본문 바로가기
Programming/Django

Django 앱 배포 전 꼭 알아야 할 핵심 고려사항들 💡

by Mandy's 2025. 7. 30.

Django로 개발한 프로젝트를 실제 서비스로 배포하려면 단순히 runserver로 실행하는 것과는 다른 많은 요소들을 고려해야 합니다. 이 글에서는 다음 강의에서 다룰 예정인 Django 앱 배포의 핵심 고려사항들을 정리해봅니다.


✅ 1. 데이터베이스 선택 재고

  • 개발 단계에서는 SQLite가 기본으로 설정되어 있어 간편하게 사용됩니다.
  • 하지만 실제 배포 환경에서는 다음과 같은 문제가 있습니다:
    • 단일 파일 기반이라 백업과 확장성이 떨어짐
    • 서버에 배포 시 파일이 사라질 수 있음
  • 해결책: PostgreSQL, MySQL 등의 외부 데이터베이스로 이전을 고려해야 합니다.

✅ 2. settings.py 설정 수정

  • DEBUG, ALLOWED_HOSTS, DATABASES, STATIC_ROOT 등은 배포 시 필수로 조정해야 할 항목입니다.
  • 사용하는 호스팅 서비스나 DB 종류에 따라 달라지므로 해당 문서 참고는 필수!

✅ 3. 정적 파일(static) 및 사용자 업로드 파일 처리

  • 개발 중엔 runserver가 자동으로 static 파일들을 서빙해줍니다.
  • 하지만 실제 배포 환경에서는 자동으로 제공되지 않습니다.
    • 예: CSS, JS, 이미지 등
  • python manage.py collectstatic 명령어로 정적 파일을 한 곳에 모아야 하며,
    서버가 이 폴더를 서비스할 수 있도록 추가 설정이 필요합니다.
  • 사용자 업로드 파일도 별도로 서빙 경로를 설정해야 합니다 (MEDIA_URL, MEDIA_ROOT 등).

✅ 4. 호스팅 선택과 배포 방식

  • Django 배포는 하나의 정답이 있는 게 아닙니다.
  • 예시:
    • Heroku
    • Render
    • PythonAnywhere
    • AWS EC2 + Nginx + Gunicorn 조합 등
  • 각 플랫폼마다 설정 방식이 다르기 때문에 공식 문서와 튜토리얼 참고는 필수입니다.

✅ 정리하며

이번 글은 배포 강의 섹션의 개요로서, 앞으로 다음 항목들을 하나하나 실습하며 배우게 됩니다:

  • 외부 DB 연동
  • settings.py 수정
  • static/media 파일 설정
  • 호스팅 서비스에 배포

개발에서 배포로 넘어가는 전환은 쉽지 않지만, 한 단계씩 따라오신다면 누구나 해낼 수 있습니다!