nginx과 uwsgi를 이용하여 배포의 전체적인 틀은 완성했다.
ec2에 올려서 실행하면 될 줄 알았더만 그러진 않았다.
화면이 나오는데 깨진다.. 장고 admin페이지부터 swagger페이지까지 전부 다 화면 구성이 안 나오고 있었다.
그 답은 배포와 로컬에서 실행하는 방식이 차이를 이해하면 된다.
로컬에서 사용하던 'runserver'라는 실행 키워드가 알고보니 많은 것들을 알아서 해주고 있던 것이었다.
지금의 문제점은 runserver를 이용하여 실행했을 때, static파일폴더를 찾아서 그 파일들을 가져와 주고 있었던 것인데 배포를 하면 runserver를 이용한게 아니기에 이를 연결해 줘야 했다.
그 방법은,
#settings.py
BASE_DIR = Path(__file__).resolve().parent.parent
ROOT_DIR = os.path.dirname(BASE_DIR)
STATIC_URL = '/static/'
STATIC_DIR = os.path.join(BASE_DIR,'static')
STATICFILES_DIRS = [
STATIC_DIR,
]
STATIC_ROOT = os.path.join(ROOT_DIR, '.static_root')
다음과 같이 settings.py파일에 설정값을 바꿔야 주어야 했다.
그 다음, 기존에 nginx.conf 설정 중 static파일 폴더의 위치를 바꿔주어야 nginx가 실행이 실질적으로 돌아갈 수 있게 된다. 이는 도메인을 얻어야하는데 이를 꼭 도메인을 구해서 해야하는지를 계속 찾아보는 중 이다.