Nginx 图片 js文件缓存配置方法

原创 2015年11月18日 16:47:52

对于网站中像图片js,css都可能长年不更新了这样我们可以把它缓存起来从而减少相关请求了,下面我们一起来看利用proxy_cache将用户的请求缓存到本地一个目录中,这样就达到我们的目地了。

我们下面来把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;
设置缓存目录为二级目录,共享内存区大小,非活动时间,最大容量,临时目录要跟缓存目录在同一个分区。
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状态码为200,302缓存时间,24h为24小时
proxy_cache_valid 200 302 24h;
设置失期时间,90d为90天
expires 90d;
不进行缓存直接转到后端服务器
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;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

nginx 图片缓存配置

本文转自:http://www.darrenfang.com/2015/01/setting-up-http-cache-and-gzip-with-nginx/ nginx 是一个高性能的 W...
  • jkguang
  • jkguang
  • 2015年09月19日 01:07
  • 1527

nginx图片缓存服务器配置实战

1、图片目录设置: 假定服务器主目录为nginx的默认目录:/usr/local/nginx-0.8.32/html/ 图片存放目录为:/usr/local/nginx-0.8.32/html/S...
  • cgeeker
  • cgeeker
  • 2013年06月25日 17:03
  • 3095

nginx 图片缓存

最近准备用nginx搭建了一个图片服务器,看中的就是nginx超强的静态文件处理能力。 由于图片量比较大,和web服务器(也是nginx)分开运行,虽然web服务器调用图片没用问题,但毕...

nginx图片、css、js缓存

nginx的额外作用

nginx图片缓存

在配置文件中加入: upstream php_server_pool{     server 192.168.4.178:80 weight=4 max_fails=2 fail_timeout=...

nginx图片缓存服务器配置实战

1、图片目录设置: 假定服务器主目录为nginx的默认目录:/usr/local/nginx-0.8.32/html/ 图片存放目录为:/usr/local/nginx-0.8.32/html/S...
  • snihcel
  • snihcel
  • 2014年06月05日 11:48
  • 417

Nginx 下缓存静态文件(如css js)

目的:缓存nginx服务器的静态文件。如css,js,htm,html,jpg,gif,png,flv,swf,这些文件都不是经常更新。便于缓存以减轻服务器的压力。 实现: nginxproxy_c...

Nginx 下缓存静态文件(如css js)

目的:缓存nginx服务器的静态文件。如css,js,htm,html,jpg,gif,png,flv,swf,这些文件都不是经常更新。便于缓存以减轻服务器的压力。 实现: nginxproxy_c...
  • akon_vm
  • akon_vm
  • 2013年01月11日 17:59
  • 25483

Nginx 下缓存静态文件(如css js)

目的:缓存nginx服务器的静态文件。如css,js,htm,html,jpg,gif,png,flv,swf,这些文件都不是经常更新。便于缓存以减轻服务器的压力。 实现: nginxproxy_c...

使用Nginx反向代理与proxy_cache缓存搭建CDN服务器的配置方法

碰到问题: 移动用户访问web服务器www.osyunwei.com很慢 解决办法: 1、在移动机房放置一台nginx反向代理服务器 2、通过域名DNS智能解析,所有移动用户访问www.osy...
  • cq1982
  • cq1982
  • 2015年05月27日 00:31
  • 515
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Nginx 图片 js文件缓存配置方法
举报原因:
原因补充:

(最多只允许输入30个字)