728x90
반응형
실습 운영체제: Linux(Ubuntu)
Nginx를 이용해서 Django web app을 배포할시에, static file 들을 경로를 설정해줘야 합니다.
STATIC_URL, STATIC_ROOT 를 설정하고
python manage.py collectstatic
STATIC_ROOT는 배포용에 쓰이는 static 경로이고
STATIC_DIRS는 개발단계에서 쓰이는 static 경로라 보면 됩니다.
2개를 가각 다르게 설정해줘야 합니다. 예를 들면 다음과 같이 하면 됩니다.
STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, "static"),]
STATIC_ROOT = os.path.join(BASE_DIR, "var", "static")
collectstatic 명령어 후에 다음과 같이 var/static 아래에 static 관련 file들이 생성됨을 볼 수 있습니다.
nginx에는 다음과 같이 설정
nano /etc/nginx/sites-available/default
location /static/ {
alias /Your Django Path/var/static/;
}
수정 후 nginx 재시작
sudo systemctl nginx restart
Django settings.py에서
STATIC_URL = '/static/'
위와 같이 설정했기 때문에 nginx에도 위와같이 static url을 잡았습니다.
원하는 경로명으로 바꿀수도 있습니다.
Django - project/settings.py
STATIC_URL = '/static-taltal/'
Nginx - /etc/nginx/sites-available/default
location /static-taltal/ {
alias /Your Django Path/var/static/;
}
수정 후 nginx 재시작
sudo systemctl restart nginx
728x90
반응형
'Python > Django' 카테고리의 다른 글
Django: bulk create (0) | 2023.03.24 |
---|---|
Django 도메인 설정 후에 CSRF 설정 (0) | 2023.03.22 |
Django Deployment with Nginx and Gunicorn (0) | 2023.03.12 |
Python, Django: request QueryDict 다루기 # AttributeError: This QueryDict instance is immutable (0) | 2023.03.11 |
Django: DB migrations 기록 지우기 (0) | 2023.03.10 |