Django 배포

Andromeda_Galaxy·2024년 5월 19일

Django

목록 보기
7/12

Django 배포 (Deployment)

디버그 모드 (Debug Mode)

  • 기본적으로 Django 프로젝트를 생성하면 settings.py에 디버그 모드가 켜져 있는 상태로 만들어짐
# settings.py

...
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
...
  • 보안 이슈로 이어지기 때문에 꼭 디버그 모드를 꺼주어야 함
  • 모드를 끄게 되면 실제로 ALLOWED_HOSTS에 있는 호스트(hosts) 외에는
    일체 접속이 차단 되어 더이상 내 컴퓨터에서도 접속이 되지 않음

호스트 설정 (Allowed Hosts)

  • ALLOWED_HOSTS에 적는 호스트는 Django 프로젝트로 들어오는 요청에 대해 응답을 할 수 있는 호스트 즉, 서버의 주소
  • 처음 프로젝트를 생성하면 아래처럼 비어있는 리스트로 생성
# settings.py

...
ALLOWED_HOSTS = []
...
  • 비어있는 호스트이면서 디버그 모드가 켜져 있는 경우에는
    [ 'localhost', '127.0.0.1', '[::1]' ]과 같은 의미가 되어 로컬 호스트(localhost) 즉 내 컴퓨터에서 접속이 가능한 상태
  • 배포할 서버와 내 컴퓨터에 대해 허용해주기 위해 ALLOWED_HOSTS 리스트에 호스트를 추가해주는 것이 필요

정적 파일 관리 (Static Files)

  • 흩어져있는 정적 파일들을 하나의 경로로 모두 모아 주어야 하는데 이때 사용하는 명령어가 바로 collectstatic 명령어
  • collectstatic 명령어는 흩어져 있는 정적 파일을 settings.py에 명시되어 있는 STATIC_ROOT 경로로 복사해서 모아줌

STATIC_URL과 STATIC_ROOT의 차이

  • STATIC_URL은 실제 존재하는 경로가 아니라 웹 페이지에서 사용할 정적 파일에 대한 URL
  • STATIC_ROOT는 실제 존재하는 경로로 Django 프로젝트에서 사용하는 모든 정적 파일이 이 경로에 존재하며 웹 서버가 정적 파일을 찾기 위해 참조하는 실제 경로

소스코드 관리

  • 버전 관리 시스템을 사용해서 소스코드를 관리하고 원격 서버에 업로드 하는 방법을 권장
  • Git, SVN, Mercurial 등의 시스템
profile
안녕하세요.

0개의 댓글