2012-11-03 6 views
5

나는 수요일 동안 AppFog PaaS 시스템을 사용하고 있으며, 나는 그것을 좋아한다. 아마도 내가 테스트 한 최고의 PaaS 시스템 일 것이다. 다른 3 가지 이전),하지만 프론트 엔드 (아파치 https 또는 nginx)에서 웹 서버와 정적 콘텐츠를 제공하는 방법에 대한 정보를 찾지 못했습니다 어떤 서버가 사용되고 있는지 잘 모르겠습니다.AppFog에서 Apache로 정적 컨텐츠를 제공하는 방법 (WSGI Python app)

내 앱은 CherryPy가있는 Python WSGI이며 AppFog에서 완벽하게 작동하지만 정적 콘텐츠를 제공하는 데 CherryPy를 사용하지 않습니다. Apache HTTPS 또는 nginx가 더 좋은 옵션이라고 생각합니다.

+0

를 실행해야합니다, 어쨌든 정적 컨텐트에 대한 직접 액세스를 구성해야합니다. – Roberto

+0

제 대답이 도움이 되었다면 해결책으로 설정하십시오. 감사! –

답변

0

nginx.conf 파일을 편집하십시오. 서버 섹션에서 ...

# serve static files 
     location ~ ^/(images|javascript|css)/ { 
     root /var/www/html/appname; 
    } 

이미지를 입력, 자바 스크립트와 CSS는 문서의 루트 폴더에 폴더가 될 것입니다. 그에 따라 귀하의 모든 URL을 업데이 트하십시오.

+1

고마워 앤드류,하지만 지금까지 내가 아는 것처럼 AppFog는 http.conf 아파치 파일에 대한 액세스를 허용하지 않는다 :-( – Roberto

+0

nginx 서버에 대한 답변이 업데이트 –

+0

안녕하세요 앤드류 내가 이전에 언급 한 것처럼 서버 설정 파일, 내 앱 AppFog에서 실행되며 내 app 디렉토리 내에서만 파일을 변경할 수 있습니다. Appfog에서 티켓을 열어이 기능을 사용할 수 있는지 확인했습니다 (다른 PaaS 시스템에서는 OpenShift가 가능합니다). 당신의 대답. – Roberto

2

라이언의 지원으로 마침내 정적 파일을로드 할 수있게되었습니다! - 여기에 모든 정적 파일이 collectstatic 명령을 실행 수집됩니다

  1. 프로젝트 루트에서 '정적'디렉토리를 만든 : 다음 단계입니다.

  2. 편집 settings.py 파일 :

    STATIC_ROOT = os.path.join (os.path.abspath (os.path.dirname (파일)), '../static') # settings.py 파일의 위치에 따라 바뀔 수 있습니다!

    STATIC_URL = '//정적'urlpatterns 변수 urls.py 에서 파일

  3. 추가 다음 줄 :

    URL (R '^ 정적/(P *) $?.' 'django.views.static.serve', { 'document_root': settings.STATIC_ROOT}),

  4. 마지막으로 로컬 시스템에서 collectstatic 명령을 실행하십시오. 이것은 당신이 사용중인 응용 프로그램에서 모든 정적 파일을 복사합니다 :

    파이썬 manage.py의 collectstatic 다야

. 푸시 AF의 :

단점 : 내가 틀렸다 AppFog 파이썬 애플 리케이션을위한 프록시 서버 대신 아파치 웹 서버로 nginx를 사용하는 것이 생각 우리는 새로운 정적 파일이 collectstatic 때마다 ...

+1

안녕하세요 @giga, 원래 질문은 AppFog 프론트 엔드 (apache httpd 또는 nginx)에서 정적 콘텐츠를 제공하는 방법에 관한 것이지 Python 앱에서는 제공하지 않습니다. 사실, 나는 파이썬 응용 프로그램에서 CherryPy를 사용하여 정적 파일을 제공하고 있습니다. 원래 게시물에서 말했지만 Python 프로그램이나 Java는 성숙한 웹 서버처럼 정적 파일을 효율적으로 제공하지 않습니다. – Roberto

+0

죄송합니다. 처음에 파이썬으로 정적을 제공하는 데 문제가있었습니다 ... : P – giga

+0

그래서 AppFog에서 ngix.conf를 수정할 수 없었습니까? –