首页 > 其他分享 >3-6缓存_文件压缩

3-6缓存_文件压缩

时间:2024-05-11 15:44:53浏览次数:15  
标签:文件 缓存 http 压缩 cache proxy

3.6缓存 文件压缩

永久缓存配置

nginx提供proxy_store指令将提供资源的服务器的响应内容缓存到本地,适合缓存网站中几乎不变的内容

server {
    listen 80;
    server_name 192.168.1.1;
    location / {
    root cache;        缓存路径 需要手动创建给权限 /usr/local/nginx/cache
    proxy_store on;    开启本地缓存
    proxy_store_access user:rw group:rw all:r;
    proxy_temp_path cache_tmp; 反向代理时接收的数据的临时存储目录
    proxy_pass http://192.168.1.4;
    }
}

判断缓存目录中的文件是否存在
如果客户端向web缓存服务器发送请求http://192.168.1.1/test/index.html,高亮部分就是request_filename的值
if (!-e $request_filename) {
    proxy_pass http://192.168.1.4
}

也有临时缓存配置

缓存清理配置

unzip ngx_cache_purge-master.zip

mv ngx_cache_purge-master /usr/local/ngx_cache_purge

--add-module=/usr/local/ngx_cache_purge

location ~ /purge(/.*) {
    allow 192.168.1.1;
    deny  all;
    proxy_cache_purge cache_one $how$1is_args$args;
}

浏览器本地缓存静态数据

缓存的对象为多媒体文件,因为制作费用比较高,不会频繁更换

修改Nginx配置文件,定义对静态页面的缓存时间

写在对应的server中的location中

server {
    listen       80;
    server_name  localhost;
    location / {
        root   html;
        index  index.html index.htm;
    }
    location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ {
    expires        30d;            //定义客户端缓存时间为30天
    }
}

对页面进行压缩处理

减少客户的流量的消耗,服务器端压缩,客户端浏览器自动解压

http全局配置中

http {
gzip on;                             //开启压缩,在文件中被注释掉了
gzip_min_length 1000;                //小文件不压缩,小文件越压越大,没的可压
gzip_comp_level 4;                   //压缩比率(1-9),数字越大,压缩效果越好,时间长,但消耗CPU越大,一般选中间值
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

#文件类型+文件名字,对特定文件压缩,类型参考mime.types,此文件共两列,前一列可以粘贴,后一列是你想要压缩的文件类型
#mime.types在/usr/local/nginx/conf下   左边是格式 右边是拓展名
#多媒体文件不适合压缩,适合用缓存,因为多媒体文件大,压缩与解压缩浪费时间,降低用户的体验度
.. ..
}

服务器内存缓存

如果需要处理大量静态文件,可以将文件缓存在内存,下次访问会更快

http全局配置中

http {
    open_file_cache  max=2000  inactive=20s;  //设置服务器最大缓存文件数2000 因为内存有限,关闭20秒内无请求的文件句柄,文件会在缓存中被清掉
    open_file_cache_valid    60s;             //文件句柄的有效时间是60秒,过期后清掉,重新缓存
    open_file_cache_min_uses 5;               //只有访问次数超过5次会被缓存,热点数据才会被放在缓存
    open_file_cache_errors   off;             //缓存失败不记录日志
}

标签:文件,缓存,http,压缩,cache,proxy
From: https://www.cnblogs.com/lixunblogs/p/18167412

相关文章

  • 设置.md文件默认以typora打开而不是默认以vs code打开
    在Windows10/11中,你可以通过以下步骤来更改文件扩展名的默认打开程序:打开“设置”(可以通过开始菜单或使用Win+I快捷键)。点击“应用”选项。在左侧菜单中,点击“默认应用”。在右侧,找到“按文件类型指定默认应用”,并点击它。在下拉菜单中,找到“.md”,选择“Typora”。这将......
  • Shell--批量删除指定目录下,带不同后缀名的文件
    文件根目录在 /home/service/app/sre/*/release 下,*表示一个目录,目录名不固定,文件后缀有多种,如:./data/dict/gc_app/gc_app.i2i*./data/dict/gc_app/gc_app.consociation_appid...脚本:#!/bin/bash#定义要删除的文件根路径base_dir="/home/service/app/sre/"#获取......
  • 查看apk的缓存文件内容
    #进入超级管理用户adbshellsu#挂载system分区,可写一般情况/system分区是只读的,需要挂载为读写。mount-orw,remount/data#查找新增的缓存文件cd/data/data/com.fxb.learningtablet/cache/web_resource_cache/ls-la#apk应用操作完成后比对新增的文件 #修改文件属性chmo......
  • 【坑】严重性 代码 说明 项目 文件 行 禁止显示状态 错误 NETSDK1141 无法解析位于 E:
    错误严重性代码说明项目文件行禁止显示状态错误NETSDK1141无法解析位于E:\firefox\WPF-Samples-main\WPF-Samples-main\global.json的global.json中指定的.NETSDK版本。DragDropObjectsC:\ProgramFiles\dotnet\sdk\8.0.202\Sdks\Microsoft.NET.Sdk\targets\M......
  • 利用pearcmd实现裸文件包含
    利用pearcmd实现裸文件包含在ctf中,常常有这样一类题:题目很简单,一般围绕一个include函数展开。例:ctfshow元旦水友赛easy_include这类题目没有提供文件上传点,因此不能使用常规方法上传一句话实现命令执行。裸文件包含是一种针对这类题目的解题手法。这里引入大佬的文......
  • 如何批量删除多个不同路径的文件但又保留文件夹呢
    首先,需要用到的这个工具:度娘网盘提取码:qwu2蓝奏云提取码:2r1z1、我准备了三个文件夹(实际操作的时候可能是上百个文件夹,无所谓),里面都放了两个图片2、然后打开工具,使用文件批量复制的模块,勾选“复制时先清空…”的选项,注意,第一栏“要复制的文件和文件夹”里面为空,这样就想相......
  • 如何批量复制多个文件到多个目录中(批量复制文件,多对多文件高效操作的方法)
    首先,需要用到的这个工具:度娘网盘提取码:qwu2蓝奏云提取码:2r1z现在开始说具体操作1、首先,我准备了3个文件夹和两个可爱的图片:当然,在实际使用的时候肯定不止这些,我这里只是演示一下下。2、然后打开这个工具,按下CTRL+5,切换到文件批量复制的功能模块。把两种图片选中后,拖......
  • heatshrink - 面向嵌入式领域的超小型压缩库
    1、TinyUF2-面向UF2文件格式的BootloaderTinyUF2主要针对使用TinyUSB协议栈的MCU,目前支持ESP32-S2、i.MXRT10xx、LPC55xx、STM32F4。使用UF2bootloader,可以方便的通过USB以磁盘模式更新程序,无需其它软件,非常方便。项目地址:https://github.com/adafruit/tinyuf2......
  • tar文件header的格式和构造
    Header定义//standardarchiveformat-standardtar-ustarstructTarHeader{charname[100];//0-99charmode[8];//100-107charuid[8];//108-115chargid[8];//116-123charsize[12];//124-135charm......
  • 通过tftp或SSH中scp命令在linux服务器和linux开发板之间传输文件
    V1.02024年5月11日发布于博客园目录传送文件tftp协议★SSH协议scp命令SSH在Linux中连接另一个Linux配置开发板初始配置网络配置DNS文件配置脚本文件参考文档传送文件tftp协议#从电脑的TFTP主目录传送文件(比如a.txt)到开发板参数-g获取-r指定文件名tftp-g<......