5️⃣ 운영과 개발 환경 구분 및 배포 준비
📌 DEBUG=True vs DEBUG=False 의미와 차이
- DEBUG=True
- 개발환경용 설정
- 에러 페이지에 상세 정보 노출
- Django 내장 서버가 정적파일 직접 서빙
- 보안 취약점 존재 → 운영에 적합하지 않음
- DEBUG=False
- 운영환경용 설정
- 에러 페이지 일반화, 민감정보 숨김
- Django는 정적파일 직접 서빙 안 함
- 정적파일은 Nginx, Apache 같은 웹서버가 서빙
📌 운영환경에서 정적파일 서빙
- Django 정적파일은 collectstatic으로 한 곳에 모은 뒤
- Nginx 등을 사용해 /static/ URL과 연결해 빠르게 서빙
- 예) Nginx 설정
location /static/ {
alias /app/staticfiles/;
}
📌 Docker 환경에서 웹서버 구성
- Django 웹서버와 Nginx 웹서버를 별도 컨테이너로 구성하는 것이 일반적
- Nginx가 정적파일 서빙과 리버스 프록시 역할 담당
- Docker Compose에서 두 컨테이너 네트워크로 연결
📌 운영 배포 시 주의사항
- DEBUG=False로 반드시 설정
- ALLOWED_HOSTS에 도메인 또는 IP 설정
- 보안 강화(SSL, HTTPS 등) 필수
- 데이터베이스와 환경변수 등 민감정보 별도 관리
📌 실무 팁
- 개발과 운영 환경을 명확히 분리해 관리하기
- .env 파일, 시크릿 매니저 등 환경변수 안전 관리
- 배포 전 충분한 테스트 및 모니터링 체계 구축
'프로젝트' 카테고리의 다른 글
1️⃣ 로컬 PostgreSQL 설치 및 초기 설정 (0) | 2025.06.06 |
---|---|
6️⃣ 실전 팁과 자주 하는 실수 정리 (0) | 2025.06.06 |
4️⃣ Django 템플릿과 정적파일 연동 (0) | 2025.06.06 |
3️⃣ Static 파일 처리 문제와 해결 (0) | 2025.06.06 |
2️⃣ 환경 변수 및 설정 관리 (0) | 2025.06.06 |