0

Rails 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 を介して Unicorn で nginx を使用しています。

初めてこれをセットアップしたとき、すべてが正常にロードされました。次に、アセットを変更して再デプロイしました。その後、その資産は壊れました。その後、アセットのバージョンを上げたところ、すべてのアセットが壊れました。問題が発生した場合に備えて、ローカル キャッシュをクリアしようとしましたが、解決しませんでした。

この時点で髪を引き裂き始めています。どんな助けでも大歓迎です。

4

1 に答える 1

0

さらに調査した結果、更新時にユニコーンプロセスが適切に再起動していないことがわかりました。

于 2012-12-04T21:03:06.257 に答える