3

nginx によって静的リソースとして処理される URL を使用して画像のサムネイルを生成するアプリケーション サーバーがあります。現在、これは同期プロセスであるため、リクエストが通過したときに画像がそこにあります。

イメージの nginx 構成は簡単です。

location /image/cache/ {
    alias /var/www/image/cache/;
}

ただし、アプリケーション ブロックを作成するのではなく、URL を生成することを望んでいましたが、対応するファイルを非同期で生成して、アプリ サーバーを解放します。問題は、まだファイルが存在しない可能性がある nginx でのイメージ リクエストの処理の 1 つになります。

まだ存在しない静的リソースを待機して再試行するように nginx を構成する方法はありますか?

別の方法として、ファイルが利用可能になったときにファイルが確実に返されるようにアプリケーション呼び出しを接続することもできます。私はそれを行う方法も受け入れています。

4

1 に答える 1

0

error_page @failback を使用して、サムネイルがまだここにないことをアプリケーション/ブラウザに通知する必要があると思います

location /image/cache/ {
    alias /var/www/image/cache/;
    error_page         404 @fallback;
}

location @fallback {

    # image is not ready, so handle this situation here

}

サムをオンデマンドで生成し、それらを静的ファイルとしてキャッシュするという一般的な方法があります。あなたの場合、それはとても高価ですか?あなたの決定の背後にある理由を説明していただけますか?

于 2012-08-30T07:22:50.867 に答える