Django 배포 Nginx- 정적 파일 구성
nginx 정적 파일 경로 설정
/home/jerome/ _static/
STATIC_ROOT = '/home/jerome/ _static/static'
#
python3 manage.py collectstatic
.이 명령을 실행하면 프로젝트 내의 모든 정적 파일을 STATIC 에 복사합니다.ROOT에는 Django에 내장된 정적 파일(예를 들어 admin 백엔드 스타일)# 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 restart
django 정적 파일이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 목록에 있습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.