V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
i3x
V2EX  ›  Linux

用 nginx 反代+缓存 rpm/apt 源可行吗?

  •  
  •   i3x · 2022-06-06 07:37:40 +08:00 via Android · 2337 次点击
    这是一个创建于 661 天前的主题,其中的信息可能已经有所发展或是发生改变。
    12 条回复    2022-06-06 15:29:46 +08:00
    lff0305
        1
    lff0305  
       2022-06-06 07:42:41 +08:00 via Android
    可行但是犯不上折腾 Nginx
    Nexus 专门干这个的
    i3x
        2
    i3x  
    OP
       2022-06-06 07:57:37 +08:00 via Android
    @lff0305 这是啥?我只知道 nexusphp.......
    几十台机器同样的软件,一起升级,有缓存不就可以节约几十倍流量。。。而 rsync 恐怕会产生更多流量。。。所以想看看有没有替代方法
    XiLingHost
        3
    XiLingHost  
       2022-06-06 08:10:56 +08:00
    mytsing520
        4
    mytsing520  
       2022-06-06 08:23:12 +08:00
    自用随你
    公用注意带宽规模就行
    ferock
        5
    ferock  
       2022-06-06 08:38:06 +08:00
    @i3x #2

    搭个 Nexus3 so ez
    zsj950618
        6
    zsj950618  
       2022-06-06 08:54:46 +08:00 via Android
    Nginx 可以,但我一般用 apt-cacher-ng 。rpm 源也可以用。

    hub.docker.com/r/zhusj/apt-cacher-ng
    i3x
        7
    i3x  
    OP
       2022-06-06 09:37:00 +08:00 via Android
    @mytsing520 当然是对内使用。。。公开的镜像站当然必须要完整缓存,最少也得完整提供 x86_64 架构。有两个小发行版我有参与官方源调度代表国内官方源,这点还是知道的。哪怕小源少说也给 4 个千兆多线路。
    主要是一些精简的边缘地区,部署完整的镜像站就有额外的不必要开支了。。。。20T 企业级固态哪怕 sata 也不少钱。。。当然,镜像站读多写少,哪怕用光威都耽误不了服务。。。


    @zsj950618 apt rpm 本质分发都是 http ,我想着感觉是没啥问题的。。。所以说想找找。
    ysc3839
        8
    ysc3839  
       2022-06-06 09:42:48 +08:00 via Android
    可行,印象中网上很容易搜索到 nginx 反代+保存为本地缓存的配置文件,这种方案不需要单独适配上游服务器,不过不知道有没有缓存过期相关的处理
    i3x
        9
    i3x  
    OP
       2022-06-06 09:50:04 +08:00 via Android
    @ysc3839 我感觉按理说 nginx 直接按普通 http 站点来 proxypass 然后指定个缓存路径,设置个超时时间就够了。。。或者一次性部署升级完直接抹掉缓存路径重启 nginx 也是个方法。对自用来说。
    就是不知道有没有大佬是这么做的能不能抄个作业。以及有没有坑需要避开
    i3x
        11
    i3x  
    OP
       2022-06-06 10:47:28 +08:00 via Android
    @lostsquirrelX 没看明白 proxy_cache_path 是如何决定去哪个路径的?自动根据计划缓存时间么?


    我倒是没打算区分不同文件分时间。旧版本的包确实不会变可以留着,但是我这个用法也不会访问过时的包。我在想通过 proxy 均衡轮训请求我自建的多个地区的 rsync 完整源,一个地方搭一个万兆机器仅仅临时缓存两个小时就给内部机器分发。装完软件就可以等缓存过期了,接下来几天没安全相关的更新也不去动了
    lostsquirrelX
        12
    lostsquirrelX  
       2022-06-06 15:29:46 +08:00
    1. 前一个是索引的缓存,是 12 个小时,第二个是 deb 包的路径,可以根据需要决定缓存时间
    2. proxy_cache_path 是 nginx 缓存文件的存放路径,会根据 nginx 命名规则存
    3. 如果你已经用 rsync 同步了源,直接用 root 或 alias 挂上去就行
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3036 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 14:40 · PVG 22:40 · LAX 07:40 · JFK 10:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.