我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何实现nginx proxy_store文件管理

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何实现nginx proxy_store文件管理

如何实现nginx proxy_store文件管理,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

1。源码下载地址:    

        https://github.com/cxwshawn/ngx_proxy_store_file_mgr

2。介绍:

    1)、nginx-conf目录:主要实现基于nginx.conf中操作redis数据库代码,基于lua实现;大致流程:

            获取cache锁是否是locked -> 如果是locked,说明文件管理进程正在做lru策略,直接proxy到上游,不操作本地文件;

                                                      -> 非locked, 那么设置redis中sorted set文件访问时间(即score)

        redis结构采用hash+sorted set; hash为md5(uri)->filepath, sortedset 为:md5(uri)+ngx.now()(score)排序;

    2)、class="lazy" data-src目录:主要采用golang实现的nginx proxy_store的文件管理,主要思想:

            目前只统计当磁盘剩余不超过20%时,通过redis中的sorted set排序结果取百分比的数量依次进行删除;

    3)、配置项:

    {

        "MaxFileLimit" : 100000,        最大文件数量,超过该数量时做LRU(未实现)

        "CheckInterval" : 20,    检测做LRU的时间间隔 

        "ExpireDays" : 7,  过期时间超过7day的文件均会删除

        "ErrorLog": true,  是否输出错误日志

        "AccessLog": false,  是否输入调试日志

        "SortedSetName": "defset",  redis中sortedset的名字与access_file.lua文件中的sorte set名字一致

        "HashName": "defhash",   redis中hash名字与access_file.lua文件中的hash名字一致

        "RedisAddr" : "127.0.0.1:6379", redis数据库的地址

        "RoutineCount" : 32   go lru的并发数

    }

    4)、如有问题,mail到cxwshawn@yeah.net

看完上述内容,你们掌握如何实现nginx proxy_store文件管理的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网行业资讯频道,感谢各位的阅读!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何实现nginx proxy_store文件管理

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何实现nginx proxy_store文件管理

如何实现nginx proxy_store文件管理,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1。源码下载地址: https://github.com/
2023-06-19

linux如何实现文件管理

这篇文章将为大家详细讲解有关linux如何实现文件管理 ,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、文件系统及Shell的基本概念 1.文件系统的含义   文件系统是用来管理和组织保存在磁盘驱动器上
2023-06-13

Nginx+lua如何实现调用.so文件

这篇文章主要为大家展示了“Nginx+lua如何实现调用.so文件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Nginx+lua如何实现调用.so文件”这篇文章吧。最近在和智能硬件部门一起,做
2023-06-04

Docker中Nginx配置文件的管理与动态更新(如何在Docker中有效管理Nginx的配置文件?)

Docker中有效管理Nginx配置文件的策略包括:静态配置:配置文件挂载Dockerfile配置动态配置:环境变量ConfigMaps和Secrets热重载管理策略:CI/CD版本控制自动化工具最佳实践:模块化配置注释测试和验证监控和警报
Docker中Nginx配置文件的管理与动态更新(如何在Docker中有效管理Nginx的配置文件?)
2024-04-02

PHP中怎么实现文件管理

PHP中怎么实现文件管理,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。PHP文件管理1.上传和解压代码< ?php exec("fetch http://cn
2023-06-17

如何使用C++实现一个简单的文件管理系统?

如何使用C++实现一个简单的文件管理系统?概述:文件管理系统是计算机中非常重要的一个功能模块,它负责对计算机中的文件进行创建、修改、删除等操作。本文将介绍如何使用C++编程语言实现一个简单的文件管理系统,通过该系统,可以实现对文件的基本管理
如何使用C++实现一个简单的文件管理系统?
2023-11-02

基于Docker的Nginx集群部署与管理实践(如何管理基于Docker的Nginx集群?)

管理基于Docker的Nginx集群的最佳实践包括使用编排工具进行管理、配置管理、健康检查、日志记录和监控。流量管理涉及负载均衡、内容缓存和会话持久性。扩缩容可通过自动或手动方式实现。安全管理包括网络隔离、证书管理和安全措施。故障排除包括日志分析、工具调试和重新部署策略。最佳实践包括定制镜像、启用日志记录、使用数据卷、定期更新和备份恢复。
基于Docker的Nginx集群部署与管理实践(如何管理基于Docker的Nginx集群?)
2024-04-02

ubuntu如何安装文件管理器

在Ubuntu系统中,默认安装了Nautilus文件管理器。如果你的系统中没有安装该文件管理器,你可以通过以下几种方法安装它:1. 使用命令行安装:打开终端(Ctrl+Alt+T),执行以下命令进行安装:```sudo apt-get up
2023-10-08

Android怎么实现文件资源管理器

这篇“Android怎么实现文件资源管理器”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Android怎么实现文件资源管理器
2023-06-29

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录