【问题标题】:How to set up Nginx as a caching reverse proxy?如何将 Nginx 设置为缓存反向代理?
【发布时间】:2010-09-02 16:20:43
【问题描述】:

我最近听说 Nginx 在其反向代理功能中添加了缓存。我环顾四周,但找不到太多关于它的信息。

我想将 Nginx 设置为 Apache/Django 前面的缓存反向代理:让 Nginx 代理对 Apache 的一些(但不是全部)动态页面的请求,然后缓存生成的页面并为这些页面提供后续请求来自缓存。

理想情况下,我希望通过 2 种方式使缓存失效:

  1. 为缓存项设置过期日期
  2. 显式地使缓存项无效。例如。如果我的 Django 后端更新了某些数据,我想告诉 Nginx 使受影响页面的缓存无效

是否可以设置 Nginx 来做到这一点?怎么样?

【问题讨论】:

  • 这可能与编程有点相关,但我仍然认为您会在serverfault.com得到更好的答案

标签: caching nginx reverse-proxy caching-proxy


【解决方案1】:

您可以使用 memcached 作为缓存引擎并配置 NginxHttpMemcachedModule 以执行基于 URI 的缓存,如下链接: http://www.igvita.com/2008/02/11/nginx-and-memcached-a-400-boost/

后端 Django 应该设置/更新 memcached 中的数据(静态和动态)。

【讨论】:

  • 使用 memcached 模块的问题是我无法将缓存的页面放在磁盘上,我想这样做
  • 对于persisten memcached,可以使用同协议的Tugela Cache、memcachedb。对于 squid 风格,您可以使用来自 code.google.com/p/ncache 的 ncache,但它与编程无关:D
【解决方案2】:
猜你喜欢
  • 2019-07-13
  • 2019-01-11
  • 2016-07-05
  • 1970-01-01
  • 1970-01-01
  • 2019-06-05
  • 2016-08-17
  • 1970-01-01
相关资源
最近更新 更多