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

2022-06-06 07:37:40 +08:00
 i3x
2369 次点击
所在节点    Linux
12 条回复
lff0305
2022-06-06 07:42:41 +08:00
可行但是犯不上折腾 Nginx
Nexus 专门干这个的
i3x
2022-06-06 07:57:37 +08:00
@lff0305 这是啥?我只知道 nexusphp.......
几十台机器同样的软件,一起升级,有缓存不就可以节约几十倍流量。。。而 rsync 恐怕会产生更多流量。。。所以想看看有没有替代方法
XiLingHost
2022-06-06 08:10:56 +08:00
mytsing520
2022-06-06 08:23:12 +08:00
自用随你
公用注意带宽规模就行
ferock
2022-06-06 08:38:06 +08:00
@i3x #2

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

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


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


我倒是没打算区分不同文件分时间。旧版本的包确实不会变可以留着,但是我这个用法也不会访问过时的包。我在想通过 proxy 均衡轮训请求我自建的多个地区的 rsync 完整源,一个地方搭一个万兆机器仅仅临时缓存两个小时就给内部机器分发。装完软件就可以等缓存过期了,接下来几天没安全相关的更新也不去动了
lostsquirrelX
2022-06-06 15:29:46 +08:00
1. 前一个是索引的缓存,是 12 个小时,第二个是 deb 包的路径,可以根据需要决定缓存时间
2. proxy_cache_path 是 nginx 缓存文件的存放路径,会根据 nginx 命名规则存
3. 如果你已经用 rsync 同步了源,直接用 root 或 alias 挂上去就行

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/857460

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX