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 下缓存静态文件(如css js)

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

取消nginx对js css文件的缓存

取消nginx对js css文件的缓存
  • john1337
  • john1337
  • 2017年02月10日 14:16
  • 3651

nginx图片、css、js缓存

nginx的额外作用
  • ldw220817
  • ldw220817
  • 2014年08月05日 11:08
  • 7562

nginx 图片缓存

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

Nginx的静态资源缓存以及压缩

Nginx是一款轻量级的网页服务器、反向代理器以及电子邮件代理服务器。Nginx采用的是异步非阻塞的通信机制(epoll模型),支持更大的并发连接.所谓的epoll模型:当事件没有准备好时,就放入ep...
  • JY_He
  • JY_He
  • 2016年08月22日 19:18
  • 12005

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
  • 3691

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

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

nginx 图片缓存配置

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

Nginx:设置Nginx作为缓存

一、设置Nginx作为缓存 1.1 完整的配置文件nginx.conf #user nobody; worker_processes 1; events { worker_connect...
  • kanguolaikanguolaik
  • kanguolaikanguolaik
  • 2016年03月07日 18:46
  • 1472

解决nginx服务器图片(js/背景图片)不能显示问题

nginx网站服务器不显示图片,解决办法! 修改nginx.conf文件,加入: location ~* ^.+\.(jpg|jpeg|gif|png|bmp)$ { access_log o...
  • zfpigpig
  • zfpigpig
  • 2012年09月17日 19:12
  • 14298
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Nginx 图片 js文件缓存配置方法
举报原因:
原因补充:

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