debian下配置nginx缓存

root权限下

新建/usr/nginx/cache/webpages目录

在/etc/nginx/sites-available下找到自己所需配置的文件,打开文件后在开头加上proxy_cache_path /usr/nginx/cache/webpages levels=1:2 keys_zone=webpages:30m max_size=2g;

配置说明如下

  1. /path/to/cache  #本地路径,用来设置Nginx缓存资源的存放地址  
  2. levels          #默认所有缓存文件都放在同一个/path/to/cache下,但是会影响缓存的性能,因此通常会在/path/to/cache下面建立子目录用来分别存放不同的文件。假设levels=1:2,Nginx为将要缓存的资源生成的key为f4cd0fbc769e94925ec5540b6a4136d0,那么key的最后一位0,以及倒数第2-3位6d作为两级的子目录,也就是该资源最终会被缓存到/path/to/cache/0/6d目录中  
  3. key_zone        #在共享内存中设置一块存储区域来存放缓存的key和metadata(类似使用次数),这样nginx可以快速判断一个request是否命中或者未命中缓存,1m可以存储8000个key,10m可以存储80000个key  
  4. max_size        #最大cache空间,如果不指定,会使用掉所有disk space,当达到配额后,会删除最少使用的cache文件  
  5. inactive        #未被访问文件在缓存中保留时间,本配置中如果60分钟未被访问则不论状态是否为expired,缓存控制程序会删掉文件。inactive默认是10分钟。需要注意的是,inactive和expired配置项的含义是不同的,expired只是缓存过期,但不会被删除,inactive是删除指定时间内未被访问的缓存文件  
  6. use_temp_path   #如果为off,则nginx会将缓存文件直接写入指定的cache文件中,而不是使用temp_path存储,official建议为off,避免文件在不同文件系统中不必要的拷贝  
  7. proxy_cache     #启用proxy cache,并指定key_zone。另外,如果proxy_cache off表示关闭掉缓存。  

在server里面配置橙色代码

server {
  listen 80;
  server_name xxx.com;
  root /usr/share/nginx/html;

  location / {
    proxy_pass http://192.168.186.128:8080;

    proxy_cache webpages; // 此处跟上面keys_zone配置的目录一样

    proxy_cache_valid 20010m;
  }

}

reload nginx即可

debian reload nginx的脚本

#!/bin/bash

nginx -t
if [ $? == 0 ]; then
nginx -s reload;
echo "nginx: reload";
fi

原文地址:https://www.cnblogs.com/guuyoog/p/8566549.html