nginx添加镜像缓存 proxy_store(未完待续)

简介:nginx proxy_store缓存的结果,就是按照服务器的目录设置,直接缓存文件到同样的目录,像镜像一样。

遇到的问题:当服务器需要缓存的文件过大,恰巧此时没有缓存,但是有很多用户同时访问此文件的话,会出现生成很多,临时缓存文件(如000000132)的情况,针对同一个文件的临时缓存各个用户之间是不会共享的,因此会生成很多的临时文件,总的临时文件加载一起有10nG,也不是没有可能,影响nginx正常缓存。如果遇到此种情况,那么就执行下面的命令手动清除吧。

[[email protected]]#rm -rf  [缓存文件的路径]/*

如果缓存文件过多也可以执行上面的命令。如果要定时清理,那么就把这条命令写入脚本(如clear-cache.sh)然后

[[email protected]]#crontab -e 

***/3**/root/clear-cache.sh

一、获取安装包

获取安装包:         wget http://nginx.org/download/nginx-1.7.9.tar.gz

二、安装nginx

[[email protected]]# tar -xvzf nginx-1.7.9.tar.gz
[[email protected]]# cd nginx-1.7.9
[[email protected]]# ./configure --prefix=/usr/local/nginx
[[email protected]]# make[[email protected]]# make install

三、配置nginx(主要添加加粗字体部分)

[[email protected]]cd /usr/local/nginx
[[email protected]]vi ./conf/nginx.conf

用加粗字体替换掉原来的部分

events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;

    server {
        listen       8065;
        server_name  localhost;

        location / {
            expires 3d;
            proxy_set_header Accept-Encoding ‘‘;
            root /home/mpeg/nginx;
            proxy_store on;
            proxy_store_access user:rw group:rw all:rw;
            proxy_temp_path /home/mpeg/nginx;
            if ( !-e $request_filename)  {
                 proxy_pass http://192.168.0.1;
            }
        }
    }
}

四、说明

/*********************************************
此段为注释:
----------------------------------------------
        location / {                                       //这里的location是要换成自己经过精确匹配的location,比如要缓存图片要写成 "location ~*\.(gif|jpg|jepg|png|bmp)${"
            expires 3d;                                    //所有链接,浏览器缓存过期时间为3天
            proxy_set_header Accept-Encoding ‘‘;
            root /home/mpeg/nginx;                         //此目录为服务器的根目录,下面的if语句就是判断此目录下是否有响应的文件
            proxy_store on;                                //表示开启缓存
            proxy_store_access user:rw group:rw all:rw;    //表示用户读写权限,如果在error中报路径不允许访问的话就用"chomod -R a+rw"将下面配置的路径改为相应的权限.
            proxy_temp_path /home/mpeg/nginx;              //此处为文件的缓存路径,这个路径是和url中的文件路径一致的,url中?后面的部分不作为路径或文件名参考
            if ( !-e $request_filename)  {
                 proxy_pass http://192.168.0.1;            //此处为要被代理的服务器的地址
            }
        }
**********************************************

  

  

时间: 2024-08-05 19:32:15

nginx添加镜像缓存 proxy_store(未完待续)的相关文章

听风讲MVC丶 —— 一言不合就撸码 (未完待续······)

     希望你看了此小随 可以实现自己的MVC框架     也祝所有的程序员身体健康一切安好                                                                                                                                                ——久伴深海丶默 1.什么是前端控制器(font controller).Java Web中的前端控制器是应用的门面,

Linux 命令个人总结====== 未完待续 个人认为比较重要

Linux 命令个人总结====== 未完待续 man [功能说明]: 查看帮助 [语法格式]: man [123456789] 命令.文件. [选项参数]: 数字"1"表示用户命令,比如"ls" 数字"2"表示系统调用 数字"3"表示C语言库函数 数字"4"表示设备或特殊文件 数字"5"表示文件格式和规则 数字"6"表示游戏及其他 数字"7"表示

关于DOM的一些总结(未完待续......)

DOM 实例1:购物车实例(数量,小计和总计的变化) 这里主要是如何获取页面元素的节点: document.getElementById("...") cocument.querySelector("选择器"); 通过所需的元素节点,得到我们想要的数据做运算. 实例2:伸缩二级菜单 这里主要是逻辑判断,不同的逻辑给不同的className来控制样式. 需求是:一级菜单可以都关闭,但最多只有一个能打开.(思路是,每次都将所有的一级菜单关闭,然后仅打开当前点击的元素,并

一篇文章让Oracle程序猿学会MySql【未完待续】

一篇文章让Oracle DB学会MySql[未完待续] 随笔前言: 本篇文章是针对已经能够熟练使用Oracle数据库的DB所写的快速学会MySql,为什么敢这么说,是因为本人认为Oracle在功能性方面和难度方面都比MySql要高一些,所以精通Oracle的DB在学习MySql的时候,没有必要从头到尾再去搞一遍,只需要掌握两者的用法区别即可.故本篇文章就针对Oracle和MySql的区别来把MySql的知识掌握住,在文章中,实例都是MySql环境下的实例,而Oracle可能知识一句话来概括,所以

Python核心编程(第二版) 第二章习题答案 未完待续

2-2.程序输出.阅读下面的Python脚本.#!/usr/bin/env python1 + 2 * 4(a)你认为这段脚本是用来做什么的?(b)你认为这段脚本会输出什么?(c)输入以上代码,并保存为脚本,然后运行它,它所做的与你的预期一样吗?为什么一样/不一样?(d)这段代码单独执行和在交互解释器中执行有何不同?试一下,然后写出结果.(e)如何改进这个脚本,以便它能和你想象的一样工作?答:(a)这段脚本是用来计算表达式的值(b)脚本会输出9(c)保存为脚本,运行后没有输出.和自己预期不一样.

Dancing Links 小结 (因为之前丢了一次稿,未完待续)

Dancing Links (DLX)是Knuth为了解决精确覆盖问题而提出的算法,很多搜索问题可以转化位精确覆盖问题从而使用Dancing Links解决(效率会比DFS高很多,因为里面常常蕴涵着意想不到的剪枝) 信息学竞赛中的DLX的问题类似网络流,只需建图+贴版即可 参考文献: 1.DLX的原理:Knuth的论文: 原版:http://arxiv.org/abs/cs/0011047 翻译版:http://wenku.baidu.com/view/d8f13dc45fbfc77da269b

练武场之“封装、继承”攻略(未完待续)

如题: 使用继承编写Person.Student类 编写Person类: 属性有:姓名.年龄.出生日期 方法有:showInfo(); 编写Student类: 属性有:姓名.年龄.出生日期.学校 方法有:showInfo(); study(); 使用继承优化Student类. Ready Go! 第一步 Person类 1 package a; 2 //父类 3 public class Person { 4 // 为了让成员变量隐藏(封装),便于对值制定规则:否则变量会被直接赋值. 5 pri

whatweb.rb 未完待续

#!/usr/bin/env ruby #表示ruby的执行环境 =begin # ruby中用=begin来表示注释的开始 .$$$ $. .$$$ $. $$$$ $$. .$$$ $$$ .$$$$$$. .$$$$$$$$$$. $$$$ $$. .$$$$$$$. .$$$$$$. $ $$ $$$ $ $$ $$$ $ $$$$$$. $$$$$ $$$$$$ $ $$ $$$ $ $$ $$ $ $$$$$$. $ `$ $$$ $ `$ $$$ $ `$ $$$ $$' $ `$

把握linux内核设计思想系列(未完待续......)

[版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途] 把握linux内核设计思想(一):系统调用 把握linux内核设计思想(二):硬中断及中断处理 把握linux内核设计思想(三):下半部机制之软中断 把握linux内核设计思想(四):下半部机制之tasklet 把握linux内核设计思想(五):下半部机制之工作队列及几种机制的选择 把握linux内核设计思想(六):内核时钟中断 把握linux内核设计思想(七):内核定时器和