2016-08-28 2 views
1

관련 정보가 없는지 잘 모르겠습니다. 하지만 정적 파일을 다른 VM에 저장하는 방법을 알고 싶습니다. 로드를 분리하기 위해 큰 사이트에 그렇게하는 것이 좋습니다.미디어 파일을 별도의 nginx 미디어에 넣습니다. 생산중인 Django를 사용합니다.

내 현재 설정은 nginx, virtualenv, gunicorn 등과 같은 컴퓨터 엔진을 사용하는 것입니다. 동일한 서버에 정적 파일 (미디어 파일 포함)을 표시하는 데 nginx를 사용합니다.

사용자가 이미지를 업로드 할 때 어떻게 미디어 파일을 별도의 nginx 서버로 푸시 할 수 있습니까? 어떻게하면 같은 URL을 얻을 수 있습니까?

답변

0

하자 먼저 static 자원의 옵션을 탐구 (자바 스크립트, CSS, 이미지, 글꼴 등)

  • 당신이 정적 콘텐츠가 배포 중에 어디로 가야을 완벽하게 제어 할 수 있습니다. 일반적으로 이러한 리소스는 대역폭을 줄이기 위해 콘텐츠 크기를 최적화하기 위해 빌드 프로세스 중에 압축을 수행합니다.
  • 정적 리소스를 다른 서버 (ngnix가있는 VM)에 배포하고 장고 settings.py에 해당 URL을 STATIC_URL으로 구성하십시오. 쿠키없는 도메인을 사용하면 더 적은 대역폭을 절약 할 수 있습니다. 이 URL의 Use Cookie-free Domains for Components 섹션을 참조하십시오. https://developer.yahoo.com/performance/rules.html
  • 이러한 리소스의 콘텐츠 만료 설정을 사용하여 지정된 기간 동안 클라이언트에 캐시 할 수 있습니다.
  • 일부 모범 사례는 공식 문서에 언급되어 https://docs.djangoproject.com/en/1.10/howto/static-files/

media 리소스를 들어, 공유 볼륨에있는 파일을 저장하고 static 자원과 동일한 다른 서버에서 실행합니다. Django settings.py에서 해당 서버 URL을 MEDIA_URL으로 구성 할 수 있습니다.

관련 문제