본문 바로가기

Python/Django

Nginx Django static file 경로 설정하기

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
반응형