2012-07-29 3 views
0

저는 학교 (아주 작은 사용자 100 명 미만)를위한 아주 작은 규모의 웹 사이트에서 일하고 있으며 장고 서버에 정적 파일을 저장하는 방법이 있는지 궁금합니다. 정적 파일을 관리하기 위해 두 번째 서버를 배포하는 방법에 대해 설명합니다. Google 검색 결과는 다음과 같습니다 : https://docs.djangoproject.com/en/dev/howto/static-files/,하지만 Django 서버에서 매우 효율적이지는 않지만 더 간단한 방법이 있는지 궁금합니다.Django : 매우 작은 규모의 웹 사이트에 정적 컨텐츠

+0

[Flask] (http://flask.pocoo.org/)와 같은 간단한 것을 사용하지 않는 이유는 무엇입니까? 정적 파일 만 제공한다면, 모든 장고 설정을 처리하는 대신, 방해가되는 마이크로 프레임 워크를 사용하는 것이 훨씬 쉽습니다. (파일을로드하는 데 장고 관리자가 필요하지 않는 한). –

+0

@JeffTratner 정적 인 CSS 및 javascript 파일 일뿐입니다. –

+0

은 분명히 의미가 있습니다. –

답변

3

예 동일한 서버를 사용하여 정적 파일을 제공하는 것은 가능합니다. 상무부 그러나, 당신은 일부 URL을 제공하기 위해 아파치를 설정할 수 있습니다, 장고와 같은 아파치 가상 호스트에 미디어 파일을 제공 수밖에 없다이 사용하는 아파치/mod_wsgi에 https://docs.djangoproject.com/en/1.4/howto/deployment/wsgi/modwsgi/#serving-files

만약을 수행하는 예를 제공 정적 미디어 및 다른 사람들이 장고에 mod_wsgi 인터페이스를 사용합니다.

그것은 워드 프로세서는 별도의 웹 서버를 사용하여 참조 할 때 반드시 (가상 또는 물리적) 다른 상자 정적 자원 봉사에 최적화 된 단지 별도의 서버를 의미하지 않는다는 것을 주목할 가치가있다. 즉, 하나의 장고를 실행하지 않는 것 - - 정적 파일을 봉사 https://docs.djangoproject.com/en/1.4/howto/static-files/#serving-static-files-from-a-dedicated-server

에서 가장 큰 장고 애플리케이션은 별도의 웹 서버를 사용합니다. 이 서버는 종종 다른 유형의 웹 서버를 실행합니다.

일반적인 설정은 작은 사이트에 대한 하나의 서버에서 수행 할 수있는 WSGI 서버로 아파치/mod_wsgi에, Gunicorn 또는 uWSGI 앞에 정적 자원의 Nginx를 실행하는 것입니다.

2

"Django 서버"는 python manage.py runserver에 의해 실행되는 개발 서버를 말하며, 이에 대해 조언합니다.

Django 개발 서버를 프로덕션 환경에서 실행하고 정적 파일을 제공하는 것은 좋지 않습니다. 나는 staticfiles 응용 프로그램이 심지어 당신을 DEBUG = FALSE 경우 드릴 것입니다 생각하지 않습니다.

그러나 Django 응용 프로그램을 제공하는 동일한 웹 서버 (lighttpd, apache, nginx)를 통해 정적 컨텐츠를 제공하려는 경우 프로젝트 디렉토리에서 python manage.py collectstatic을 실행하여 모든 정적 파일을 복사하면 쉽게 수행 할 수 있습니다 다른 정적 사이트와 마찬가지로 해당 디렉토리에서 서비스하도록 웹 서버를 구성합니다.