본문 바로가기

Django2

django 배포 시 runserver를 사용하지 않는 이유 보통 django로 웹 애플리케이션 서버(WAS)를 구현할 때 아래와 같은 명령어를 사용하여 서버를 실행 시킨다.// 개발 서버 실행python manage.py runserver 하지만, 사용자들에게 실제로 서비스를 제공 할 서버를 배포할 경우 위 명령어를 통해 django 서버를 실행시키지 않는다. 왜 그런걸까? 왜 아래와 같은 복잡한 짓을 하는걸까?// 1. nginx 세팅// 2. gunicorn을 통해 실행되는 django 서버gunicorn --bind 0.0.0.0:5000 config.wsgi:application//--bind 옵션으로 서버가 호스팅될 포트 설정, 마지막 인자로 gunicorn에 django의 wsgi 객체를 넘김// 3. nginx 실행 이유는 간단하다. runserve.. 2024. 5. 14.
Django test 수 많아졌을때 테스트 도중에 멈추는 경우 django 버전을 4.2.6으로 업데이트 하고부터 테스트가 진행중 갑작스럽게 중단되는 경우가 발생했다. 항상 그런것은 아니며 경험상 unittest 숫자가 대략 100개가 넘는 경우에 해당 문제가 발생했다. 정확한 원인은 아직 파악못했다. "manage.py test" 명령어를 실행할 때 마다 그리고 테스팅하는 컴퓨터가 달라질 때 마다 테스트가 중단되는 시점이 다른점을 생각했을때 아마 컴퓨터 리소스 점유 때문에 이러한 문제가 발생되는게 아닐까 의심해본다. 원인 파악은 불 확실하지만 그래도 해결 방안은 발견했다. "manage.py test" 옵션 중에 --parallel 옵션이 있다. 테스트를 여러 쓰레드로 나누어 병렬로 진행하는 옵션이다. 각 unittest는 상호 의존성 없이 독립적으로 설계 되었기.. 2023. 11. 1.