Nginxピクチャjsファイルキャッシュ構成方法
2062 ワード
画像jsのようなサイトでは、cssは長年更新されていない可能性があります.これにより、キャッシュして関連リクエストを減らすことができます.次にproxyを利用してみましょう.Cacheは、ユーザーのリクエストをローカルのディレクトリにキャッシュし、目的地に達します.
次にgif|jpg|jpeg|png|bmp|swfをキャッシュし、以下のように構成します.
nginx.confプロファイルを開いてhttpレベルで次のコードを追加
さらにserverレベルで次のコードlocationを追加して次のコードを追加します.
上のように設定すると多くの人が分からないかもしれませんが、以下は比較的詳細な例を整理します.
cssのようにjsをキャッシュに入れるならlocation~.*\.(gif|jpg|jpeg|png|bmp|swf)$をlocation~.*\.(gif|jpg|png|css|js)(.*)にすればいいですよ.
#ファイルの接尾辞をキャッシュするには、以下の設定を行います.
説明:
1、http設定.
一時ディレクトリproxy_の設定temp_path/tmp/temp_dir; キャッシュディレクトリを2次ディレクトリ、共有メモリ領域サイズ、非アクティブ時間、最大容量に設定します.一時ディレクトリはキャッシュディレクトリと同じパーティションにします.proxy_cache_path/tmp/cache levels=1:2 keys_zone=cache_one:100m inactive=1d max_size=10g; 2、server設定 キャッシュ共有メモリの設定proxy_cache cache_one; httpステータスコードを200302キャッシュ時間、24 hを24時間proxy_に設定cache_valid 200 302 24h; 失効時間を設定し、90 dは90日間expires 90 dである.キャッシュを行わずにバックエンドサーバproxy_に直接移動pass http://127.0.0.1:9000;
もちろんexpiresコマンドを使用してキャッシュを構成することもできます
制御画像などの有効期限は30日で、もちろんこの時間はもっと長く設定できます.具体的には状況によって異なります.
マッチング/resource/または/mediatorModule/のすべてのファイルキャッシュを最長時間に設定する
たとえば
次にgif|jpg|jpeg|png|bmp|swfをキャッシュし、以下のように構成します.
nginx.confプロファイルを開いてhttpレベルで次のコードを追加
proxy_connect_timeout 10;
proxy_read_timeout 180;
proxy_send_timeout 5;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 256k;
proxy_temp_file_write_size 256k;
proxy_temp_path /tmp/temp_dir;
proxy_cache_path /home/cache levels=1:2 keys_zone=cache_one:100m inactive=1d max_size=10g;
さらにserverレベルで次のコードlocationを追加して次のコードを追加します.
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 15d;
}
location ~ .*\.(js|css)?$
{
expires 1d;
}
上のように設定すると多くの人が分からないかもしれませんが、以下は比較的詳細な例を整理します.
cssのようにjsをキャッシュに入れるならlocation~.*\.(gif|jpg|jpeg|png|bmp|swf)$をlocation~.*\.(gif|jpg|png|css|js)(.*)にすればいいですよ.
#ファイルの接尾辞をキャッシュするには、以下の設定を行います.
location ~ .*\.(gif|jpg|png|css|js)(.*) {
proxy_pass http://appserver ;
proxy_redirect off;
proxy_set_header Host $host;
proxy_cache cache_one;
proxy_cache_valid 200 302 24h;
proxy_cache_valid 301 30d;
proxy_cache_valid any 5m;
expires 90d;
}
説明:
1、http設定.
一時ディレクトリproxy_の設定temp_path/tmp/temp_dir; キャッシュディレクトリを2次ディレクトリ、共有メモリ領域サイズ、非アクティブ時間、最大容量に設定します.一時ディレクトリはキャッシュディレクトリと同じパーティションにします.proxy_cache_path/tmp/cache levels=1:2 keys_zone=cache_one:100m inactive=1d max_size=10g; 2、server設定 キャッシュ共有メモリの設定proxy_cache cache_one; httpステータスコードを200302キャッシュ時間、24 hを24時間proxy_に設定cache_valid 200 302 24h; 失効時間を設定し、90 dは90日間expires 90 dである.キャッシュを行わずにバックエンドサーバproxy_に直接移動pass http://127.0.0.1:9000;
もちろんexpiresコマンドを使用してキャッシュを構成することもできます
制御画像などの有効期限は30日で、もちろんこの時間はもっと長く設定できます.具体的には状況によって異なります.
location ~ \.(gif|jpg|jpeg|png|bmp|ico)$ {
expires 30d;
}
マッチング/resource/または/mediatorModule/のすべてのファイルキャッシュを最長時間に設定する
たとえば
location ~ /(resource|mediatorModule)/ {
root /opt/demo;
expires max;
}