NGINX虽然已经对静态内容做过优化。 但在高流量网站的情况下,仍然可以使用open_file_cache进一步提高性能。 NGINX缓存将最近使用的文件描述符和相关元数据(如修改时间,大小等)存储在缓存中。 缓存不会存储所请求文件的内容。

open_file_cache

启用此指令将存储以下信息的缓存:
打开的文件描述符和相关元数据,如大小,修改时间等
文件和目录的存在
与查找相关的任何错误,例如“权限被拒绝”,“文件未找到”等
缓存定义固定大小,并且在溢出期间,它移除最近最少使用(LRU)元素。 缓存在一段时间不活动之后逐出元素。 默认情况下禁用该指令。 如下例子:

  1. http{
  2. open_file_cache max=1000 inactive=20s;
  3. }

在上述配置中,为1,000个元素定义了一个缓存。 inactive参数配置到期时间为20秒。 没有必要为该指令设置非活动时间段,默认情况下,非活动时间段为60秒。
NGINX还定义了一些相关的指令,可用于在错误和有效性检查期间配置open_file_cache的行为。

open_file_cache_valid

NGINX的open_file_cache保存信息的快照。 由于信息在源处更改,快照可能在一段时间后无效。 open_file_ cache_valid指令定义时间段(以秒为单位),之后将重新验证open_file_cache中的元素。 如下例子:

  1. http{
  2. open_file_cache_valid 30s;
  3. }

默认情况下,60秒后重新检查元素。

open_file_cache_min_uses

NGINX将在非活动时间段之后从高速缓存中清除元素。 此指令可用于配置最小访问次数以将元素标记为活动使用。 默认情况下,最小访问次数设置为1次或更多次。如下例子

  1. http{
  2. open_file_cache_min_uses 4;
  3. }

open_file_cache_errors

如前所述,NGINX可以缓存在文件访问期间发生的错误。 但是这需要通过设置open_file_cache_errors指令来启用。 如果启用错误缓存,则在访问资源(不查找资源)时,NGINX会报告相同的错误。

  1. http{
  2. open_file_cache_errors on;
  3. }

默认情况下,错误缓存设置为关闭。

Nginx使用教程(五):使用Nginx缓存之缓存静态内容的更多相关文章

  1. 【转】Nginx系列(五)--nginx+tomcat实现负载均衡

    原博文出于:  http://blog.csdn.net/liutengteng130/article/details/47129909   感谢! Nginx占有内存少,并发能力强,事实上Nginx ...

  2. Nginx系列(五)--nginx+tomcat实现负载均衡

    Nginx占有内存少,并发能力强,其实Nginx的并发能力确实在同类型的网页伺服器中表现较好.眼下中国大陆使用Nginx站点用户有:新浪,网易,腾讯等. 本文主要是基于Nginx搭建tomcat集群. ...

  3. Nginx使用教程(一):Nginx编译参数详解

    从源代码编译应用程序时通常有三个步骤:配置,编译和安装. 配置步骤允许您选择一些在程序编译后无法编辑的选项,因为它对程序二进制文件有直接影响. 因此,这是一个非常重要的阶段,你需要仔细选择,如果你想避 ...

  4. Nginx使用教程(三):Nginx配置性能优化之I/O和TCP配置

    配置Nginx I/O <br\> Sendfile 当应用程序传输文件时,内核首先缓冲数据,然后将数据发送到应用程序缓冲区. 应用程序反过来将数据发送到目的地. Sendfile方法是一 ...

  5. Nginx使用教程(二):Nginx配置性能优化之worker配置

    配置Nginx workers <br\>NGINX根据指定的配置运行固定数量的工作进程. 这些工作进程负责处理所有处理. 在下面的章节中,我们将调整NGINX worker参数. 这些参 ...

  6. Nginx详解五:Nginx基础篇之HTTP请求

    http请求 如今的http请求已经不是每一次请求都进行一次三次握手,可以在请求与相应之后,客户端和服务端不断的发送FIN和ACK包来保持连接的状态,即:长连接 HTTP请求建立在一次TCP连接基础上 ...

  7. Nginx作为静态内容服务器(Windows环境)

    1.简单安装 1)下载 http://nginx.org/en/download.html 2)解压后的路径 E:\Study\nginx\nginx-1.7.6 3)执行nginx.exe,访问ht ...

  8. Nginx使用教程(六):使用Nginx缓存之FastCGI缓存

    启用FastCGI缓存 <br\>编辑必须启用缓存的虚拟主机配置文件. nano /etc/nginx/sites-enabled/vhost 将以下行添加到server{}指令之外的文件 ...

  9. Nginx使用教程(七):使用Nginx缓存之proxy cache

    定义缓存目录 <br\>使用您喜欢的文本编辑器打开/etc/nginx/nginx.conf,并在http {区域加入: proxy_cache_path  /var/www/cache ...

随机推荐

  1. 菜鸟入门【ASP.NET Core】14:MVC开发:UI、 EF + Identity实现、注册实现、登陆实现

    前言 之前我们进行了MVC的web页面的Cookie-based认证实现,接下来的开发我们要基于之前的MvcCookieAuthSample项目做修改. MvcCookieAuthSample项目地址 ...

  2. Centos 7.6搭建LNMP环境的web服务器

    一.安装软件 1.1.MYSQL安装 下载mysql的repo源: wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rp ...

  3. nginx ssl证书

    server { listen ; server_name xxx.com; root "/home/www/website"; ssl on; ssl_certificate / ...

  4. 30.QT-渐变之QLinearGradient、 QConicalGradient、QRadialGradient

    渐变有三种:QLinearGradient.QConicalGradient . QRadialGradient 它们都有一个QGradient父类 QGradient父类的常用公共函数有: void ...

  5. 升级mac自带的python

    系统自带的Python $ which python 终端输出 /usr/bin/python 使用Homebrew安装最新的Python2 为什么要使用Homebrew安装Python? 总能下载到 ...

  6. SpringBoot 之Thymeleaf模板.

    一.前言 Thymeleaf 的出现是为了取代 JSP,虽然 JSP 存在了很长时间,并在 Java Web 开发中无处不在,但是它也存在一些缺陷: 1.JSP 最明显的问题在于它看起来像HTML或X ...

  7. Docker多步构建更小的Java镜像

    译者按: 最新版Docker将支持多步构建(Multi-stage build),这样使用单个Dockerfile就可以定义多个中间镜像用于构建,测试以及发布等多个步骤,并且有效减小最终镜像的大小. ...

  8. TCP 三次握手与四次断开

    三次握手建立连接 TCP连接是通过三次握手来连接的. 第一次握手 当客户端向服务器发起连接请求时,客户端会发送同步序列标号SYN到服务器,在这里我们设SYN为x,等待服务器确认,这时客户端的状态为SY ...

  9. chrome 开发者工具,查看元素 hover 样式

    在web开发中,浏览器开发者工具是我们常用的调试工具.我们经常会有这样的需求,就是查看元素的时候需要查看它的hover样式.相信有很多小伙伴都遇到过这样的情形,始终选不中hover后的元素状态.其实在 ...

  10. 18.Odoo产品分析 (二) – 商业板块(10) – 电子商务(2)

    查看Odoo产品分析系列--目录 接上一篇Odoo产品分析 (二) – 商业板块(10) – 电子商务(1) 6. 高级属性 除了我们到目前为止已经覆盖基本选项,Odoo在产品页面还提供了一些高级选项 ...