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


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

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

    [root@HOST]#rm -rf  [缓存文件的路径]/*

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

    [root@HOST]#crontab -e 

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

    一、获取安装包

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

    二、安装nginx

    [root@HOST]# tar -xvzf nginx-1.7.9.tar.gz
    [root@HOST]# cd nginx-1.7.9
    [root@HOST]# ./configure --prefix=/usr/local/nginx
    [root@HOST]# make
    [root@HOST]# make install

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

    [root@HOST]cd /usr/local/nginx 
    [root@HOST]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;            //此处为要被代理的服务器的地址
                }
            }
    **********************************************
    

      

      

  • 相关阅读:
    Eclipse 开发过程中利用 JavaRebel 提高效率
    数字转化为大写中文
    网页变灰
    解决QQ截图无法在PS中粘贴
    ORACLE操作表时”资源正忙,需指定nowait"的解锁方法
    网页常用代码
    SQL Server 2000 删除注册的服务器
    GridView 显示序号
    读取Excel数据到DataTable
    清除SVN版本控制
  • 原文地址:https://www.cnblogs.com/bugutian/p/4506763.html
Copyright © 2020-2023  润新知