# Django 5.2.9 문서

# 장고를 배포하는 방법

Django는 웹 개발자의 생활을 더 쉽게 만들 수 있는 지름길로 가득 차 있지만, 사이트를 쉽게 배치할 수 없다면 이러한 도구들은 아무 소용이 없습니다. django의 설립 이후, 배치의 용이성이 주요 목표였다.

아키텍처 또는 특정 비즈니스 요구 사항에 따라 Django 애플리케이션을 배포하는 방법에는 여러 가지가 있지만 이러한 논의는 Django가 지침으로 제공할 수 있는 범위를 벗어납니다.

Django, being a web framework, needs a web server in order to operate. And since most web servers don’t natively speak Python, we need an interface to make that communication happen. The `runserver` command starts a lightweight development server, which is not suitable for production.

Django는 현재 WSGI와 ASGI의 두 가지 인터페이스를 지원합니다.

- WSGI는 웹 서버와 애플리케이션 간의 통신을 위한 주요 파이썬 표준이지만 동기식 코드만 지원한다.

- ASGI는 당신의 Django 사이트에서 비동기 Python 기능과 비동기 Django 기능을 개발하면서 사용할 수 있게 해주는 새로운 비동기 친화적인 표준이다.

응용 프로그램에 대해 :doc:’static files’를 어떻게 처리할 것인지와 :doc:’error reporting’을 어떻게 처리할 것인지도 고려해야 한다.

Finally, before you deploy your application to production, you should run through our deployment checklist to ensure that your configurations are suitable.

- WSGI를 사용하여 배포하는 방법
  - Gunicorn과 함께 django 사용방법
  - uWSGI와 함께 django를 사용하는 방법
  - django와 아파치 사용법, mod_wsgi 사용법
  - Apache에서 Django의 사용자 데이터베이스에 대해 인증하는 방법
  - 애플리케이션 객체
  - 설정 모듈 구성
  - WSGI 미들웨어 적용방법
- ASGI를 사용하여 배포하는 방법
  - 다프네와 함께 django를 사용하는 방법
  - 하이퍼콘과 함께 장고를 사용하는 방법
  - django와 유비콘 사용방법
  - 애플리케이션 객체
  - 설정 모듈 구성
  - ASGI 미들웨어 적용
- 배포 전 체크리스트
  - `manage.py check --deploy` 명령 실행
  - Switch away from `manage.py runserver`
  - 중요 설정
  - 특정한 환경 설정
  - HTTPS
  - 성능 최적화
  - 오류 알림