Django 배포 Nginx- 정적 파일 구성

2024 단어
django-배치nginx-정적 파일 설정
nginx 정적 파일 경로 설정
  • 새 경로 만들기 - Django의 모든 정적 파일을 저장합니다. 예를 들어 /home/jerome/ _static/
  • Django settings에 있습니다.py에 새 구성 추가
    STATIC_ROOT = '/home/jerome/   _static/static'
    #                       
    
  • 프로젝트에 들어가 집행python3 manage.py collectstatic.이 명령을 실행하면 프로젝트 내의 모든 정적 파일을 STATIC 에 복사합니다.ROOT에는 Django에 내장된 정적 파일(예를 들어 admin 백엔드 스타일)
  • 이 포함됩니다.
  • Nginx 구성에 새 구성 추가
  • # file : sudo vim /etc/nginx/nginx.conf
    #    location /static     ,                  
    server {
    ...
    location /static {
    # root              , :
    root /home/jerome/   _static;
    }
    ...
    }
    

    문법 오류 확인 sudo nginx -t재시작 sudo service nginx restart/sudo /etc/init.d/nginx restartdjango 정적 파일이nginx 서버에 배치되는 문제
    프로젝트 디렉터리의setting.py 파일
    STATIC_URL = "/static/"은 URL에서 static을 통해 정적 자원에 접근하는 것을 의미하며,django는 STATIC 를 이용한다.URL을 사용하면 브라우저가 정적 파일에 직접 액세스할 수 있습니다.
    STATICFILES_DIRS
    STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'common_static'),
    )
    이 코드는 필수가 아닙니다. 더하면 STATICFILES 에 공통 정적 파일이 저장됩니다.DIRS 디렉토리에 있습니다.
    STATIC_ROOT
    STATICFILES_ROOT = (
    os.path.join(BASE_DIR, 'static/'),
    )
    배치할 때collectstatic 명령을 실행하면 프로젝트의 각 APP 디렉터리에 있는 static 폴더와 STATICFILESDIRS 폴더의 정적 파일이 모두 STATICROOT가 가리키는 폴더입니다.
    1. 개발할 때runserver 0.0.0:80을 사용하여 시작할 때django는 정적 파일을 다음과 같은 순서로 찾습니다. 찾으면 더 이상 아래로 찾지 않습니다.
    1、STATICFILES 찾기DIRS에 해당하는 디렉토리의 정적 파일(STATICFILES DIRS가 설정된 경우)
    2. 각 APP 디렉터리의 Static 폴더에서 정적 파일 찾기
    둘째, Nginx + uWSGI를 사용하여 배치할 때 Nginx 서버는 정적 파일의 응답을 인수하기 때문에 정적 파일을 찾는 순서는
    1. 정적 파일은 Nginx가 설정한 정적 디렉터리에 따라 찾습니다.
    Nginx 설정의 정적 디렉토리 요약, Nginx + uWSGI를 사용하여 배포할 때 STATICFILESDIRS와 각 APP 디렉토리의 Static 폴더에서 정적 파일을 찾았습니다.Nginx가 설정한 정적 디렉터리에서 직접 찾습니다. 따라서 모든 정적 파일을 Nginx가 설정한 정적 디렉터리로 복사해야 합니다. 다행히도,django는 setting을 설정하는 편리한 방법이 있습니다.py의 STATICROOT, 그리고 터미널에서python 관리자를 실행합니다.py collectstatic, 모든 정적 파일을 STATIC 로 복사ROOT 목록에 있습니다.

    좋은 웹페이지 즐겨찾기