рельсы, обслуживающие статический путь актива, который не соответствует предварительно скомпилированному манифесту

Я пытался прочитать много других вопросов о том, как правильно настроить nginx для обслуживания статических ресурсов для рельсов 3.2, но независимо от того, что я пытаюсь сделать, путь ресурса, загружаемый моим браузером, не соответствует версии ресурса, указанной в 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. Я использую nginx с unicorn через сокет домена Unix.

Первый раз настроил, все загрузилось нормально. Затем я изменил актив и повторно развернул его. Затем этот актив был сломан. Затем я наткнулся на версию актива, и теперь все активы сломаны. Я пытался очистить свой локальный кеш на случай, если это вызывало проблемы, но это не помогло.

Я начинаю рвать на себе волосы в этот момент, любая помощь будет принята с благодарностью.


person Brian    schedule 04.12.2012    source источник


Ответы (1)


После дополнительных исследований я обнаружил, что процесс единорога не перезапускается должным образом при обновлении.

person Brian    schedule 04.12.2012