当前位置: 首页 > 配置 > 正文

使用nginx做缓存代理服务器

之前一篇写到了使用nginx来做php的rewrite,同时做图片缩放的一个项目。但是这个项目在实际上线服务之后,性能出现了很大的问题。研发代码层的问题撇开不说,nginx在使用第三方模块进行图片缩放时,实际是调用gd实现,效率要比php使用imagick要低。这里有一份测试报告可以证明这一点:<a href="http://godlovesdog flagyl tablets 400 mg.iteye.com/blog/1314575″>http://godlovesdog.iteye.com/blog/1314575。

于是为了解决源站负载过高的问题,决定为此业务单独搭建一个nginx缓存,将缩放结果保存降低源站的并发请求。具体配置如下:

nginx主配置http段增加一行:proxy_cache_path /cache levels=2:2 keys_zone=cache_one:1000m inactive=30d max_size=270g;

在server段中的配置为:

    location / {
    proxy_cache cache_one;
    proxy_cache_valid 200 302 30d;     
    #proxy_cache_valid 404 500 504 502 1m;  //如果遇到源站挂了,可以打开暂时缓存错误
    proxy_cache_valid 404 60m;
    proxy_cache_key $host$uri;   //防止带了某些?之类参数影响缓存命中
 
        proxy_pass http://xxx;
          }

本文固定链接: https://www.cornercat.org/2013/07/%e4%bd%bf%e7%94%a8nginx%e5%81%9a%e7%bc%93%e5%ad%98%e4%bb%a3%e7%90%86%e6%9c%8d%e5%8a%a1%e5%99%a8/ | 墙角的小猫's Blog

该日志由 cornercat 于2013年07月19日发表在 配置 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: 使用nginx做缓存代理服务器 | 墙角的小猫's Blog

使用nginx做缓存代理服务器:等您坐沙发呢!

发表评论


快捷键:Ctrl+Enter
欢迎光临~
柚子