注:官方指南 -> 传送门
服务端nginx缓存
1.创建缓存目录
$ mkdir /home/nginx/temp/proxy_temp -p
2.配置nginx.conf
http{
……
#开启nginx的缓存功能,需要添加以下内容
proxy_temp_path /home/nginx/temp/proxy_temp;
#设置缓存区,缓存数据过期时间1天,硬盘缓存空间最大1G
proxy_cache_path /home/nginx/temp/imgCache levels=1:2 keys_zone=imgCache:10m inactive=1d max_size=1g;
#设置缓存区,缓存数据过期时间1天,硬盘缓存空间最大2G
proxy_cache_path /home/nginx/temp/videoCache levels=1:2 keys_zone=videoCache:10m inactive=1d max_size=2g;
#跨多个硬盘拆分缓存 - 可选
proxy_cache_path /path/to/hdd1 levels=1:2 keys_zone=my_cache_hdd1:10m max_size=10g inactive=60m use_temp_path=off;
proxy_cache_path /path/to/hdd2 levels=1:2 keys_zone=my_cache_hdd2:10m max_size=10g inactive=60m use_temp_path=off;split_clients $request_uri $my_cache {
50% “my_cache_hdd1”;
50% “my_cache_hdd2”;
}
server {
listen 80;
server_name localhost;
location /img {
access_log off;
expires 30d; # 响应头设置客户端缓存30天
proxy_cache imgCache;
proxy_cache_valid 200 206 302 1d;
proxy_cache_valid 404 60s;
proxy_cache_valid any 1h;
proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504;
#root /home/resources;# /home/resources/img/…/xxx.jpg
#rewrite ^/img/(.*)$ \img\$1 break;
#proxy_pass http://www.xxx.com/img/$request_uri;
……
}
location /video {
access_log off;
expires 30d; # 响应头设置客户端缓存30天
proxy_cache videoCache;
proxy_cache_valid 200 206 302 1d;
proxy_cache_valid 404 60s;
proxy_cache_valid any 1h;
proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504;
#root /home/resources; # /home/resources/video/…/xxx.mp4
#rewrite ^/img/(.*)$ \video\$1 break;
#proxy_pass http://www.xxx.com/video/$request_uri;
……
}
location /mycache { # 多硬盘样例
access_log off;
expires 30d; # 响应头设置客户端缓存30天
proxy_cache $my_cache;
proxy_cache_valid 200 206 302 1d;
proxy_cache_valid 404 60s;
proxy_cache_valid any 1h;
proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504;
……
}
}
……
}