2012-12-04 1 views
0

레일스 3.2의 정적 자산을 제공하도록 nginx를 올바르게 구성하는 방법에 대한 다른 많은 질문을 읽으려고 시도했지만, 브라우저가 사전 처리 컴파일 후 manifest.yml에 지정된 자산 버전과 일치하지 않아 결과적으로 모든 자산을 찾을 수 없습니다. 다음과 같이미리 컴파일 된 매니페스트와 일치하지 않는 정적 자산 경로를 제공하는 레일

내의 nginx의 설정은 다음과 같습니다

location ~ ^/assets/ {  

    # Per RFC2616 - 1 year maximum expiry 
    # http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html 
    expires 1y; 
    add_header Cache-Control public; 

    gzip_static on; 

    # Some browsers still send conditional-GET requests if there's a 
    # Last-Modified header or an ETag header even if they haven't 
    # reached the expiry date sent in the Expires header. 
    add_header Last-Modified ""; 
    add_header ETag ""; 
    break; 
} 

가 나는 또한 정확의 nginx의 루트 경로를 확인했습니다. 유닉스 도메인 소켓 (Unix Domain Socket)을 통해 유니콘과 함께 nginx를 사용하고 있습니다.

처음으로이 모든 것을 올바르게로드했습니다. 그런 다음 자산을 수정하고 재배포했습니다. 그 자산은 그 때 부서졌다. 그런 다음 자산 버전을 부딪 혔고 이제 모든 자산이 손상되었습니다. 문제가 발생했을 때 로컬 캐시를 지우려고했으나 도움이되지 않았습니다.

나는이 시점에서 내 머리카락을 찢기 시작하고있어, 어떤 도움을 주시면 대단히 감사하겠습니다.

답변

0

더 많은 조사가 끝나면 유니콘 프로세스가 업데이트 할 때 제대로 시작되지 않았 음을 알았습니다.