二丫讲梵 二丫讲梵
首页
  • 最佳实践
  • 迎刃而解
  • Nginx
  • CNB
  • Php
  • Zabbix
  • AWS
  • Prometheus
  • Grafana
  • CentOS
  • Systemd
  • Docker
  • Rancher
  • Ansible
  • Ldap
  • Gitlab
  • GitHub
  • Etcd
  • Consul
  • RabbitMQ
  • Kafka
  • MySql
  • MongoDB
  • OpenVPN
  • KVM
  • VMware
  • Other
  • ELK
  • K8S
  • LLM
  • Nexus
  • Jenkins
  • 随写编年
  • 家人物语
  • 追忆青春
  • 父亲的朋友圈
  • 电影音乐
  • 效率工具
  • 博客相关
  • Shell
  • 前端实践
  • Vue学习笔记
  • Golang学习笔记
  • Golang编程技巧
  • 学习周刊
  • Obsidian插件周刊
关于
友链
  • 本站索引

    • 分类
    • 标签
    • 归档
  • 本站页面

    • 导航
    • 打赏
  • 我的工具

    • 备忘录清单 (opens new window)
    • json2go (opens new window)
    • gopher (opens new window)
    • 微信MD编辑 (opens new window)
    • 国内镜像 (opens new window)
    • 出口IP查询 (opens new window)
    • 代码高亮工具 (opens new window)
  • 外站页面

    • 开往 (opens new window)
    • ldapdoc (opens new window)
    • HowToStartOpenSource (opens new window)
    • vdoing-template (opens new window)
GitHub (opens new window)

二丫讲梵

行者常至,为者常成
首页
  • 最佳实践
  • 迎刃而解
  • Nginx
  • CNB
  • Php
  • Zabbix
  • AWS
  • Prometheus
  • Grafana
  • CentOS
  • Systemd
  • Docker
  • Rancher
  • Ansible
  • Ldap
  • Gitlab
  • GitHub
  • Etcd
  • Consul
  • RabbitMQ
  • Kafka
  • MySql
  • MongoDB
  • OpenVPN
  • KVM
  • VMware
  • Other
  • ELK
  • K8S
  • LLM
  • Nexus
  • Jenkins
  • 随写编年
  • 家人物语
  • 追忆青春
  • 父亲的朋友圈
  • 电影音乐
  • 效率工具
  • 博客相关
  • Shell
  • 前端实践
  • Vue学习笔记
  • Golang学习笔记
  • Golang编程技巧
  • 学习周刊
  • Obsidian插件周刊
关于
友链
  • 本站索引

    • 分类
    • 标签
    • 归档
  • 本站页面

    • 导航
    • 打赏
  • 我的工具

    • 备忘录清单 (opens new window)
    • json2go (opens new window)
    • gopher (opens new window)
    • 微信MD编辑 (opens new window)
    • 国内镜像 (opens new window)
    • 出口IP查询 (opens new window)
    • 代码高亮工具 (opens new window)
  • 外站页面

    • 开往 (opens new window)
    • ldapdoc (opens new window)
    • HowToStartOpenSource (opens new window)
    • vdoing-template (opens new window)
GitHub (opens new window)
  • Nexus系列文章

    • 前言
    • nexus的安装
    • 使用nexus3配置docker私有仓库
    • 使用nexus3配置maven私有仓库
    • 使用nexus3配置npm私有仓库
    • 使用nexus3配置yum私有仓库
    • 使用nexus3配置Python私有仓库
    • 使用nexus3配置golang私有仓库
    • maven私服nexus2-14-5迁移到nexus3-7-1
    • maven上传jar包以及SNAPSHOT的一个坑
    • Gradel上传本地包的一些坑及注意点
    • go1-12与1-14之私服使用的差异与变化
    • 通过命令行往python私仓传包
    • 关于yum仓库往nexus私服传包等实践
    • 将maven本地包上传到nexus私服的实践
    • 将npm本地包上传到nexus私服的实践
    • nexus2.x升级到3.x之后仓库地址改变的问题探索
    • 关于gradle中plugins依赖未走私服导致编译失败的原因探析
    • 手把手教你构建企业级Debian/Ubuntu软件仓库:万字详解 Nexus3 APT代理配置实践
    • Nexus社区版权益阉割--一文告诉你有哪些版本可以选择
      • 前言
      • 版本之辨
      • 验证限制
      • 镜像抢救
  • Jenkins系列文章

  • ELK笔记

  • Kubernetes笔记

  • LLM专题

  • 系列专题
  • Nexus系列文章
二丫讲梵
2026-01-17
目录

Nexus社区版权益阉割--一文告诉你有哪些版本可以选择

文章发布较早,内容可能过时,阅读注意甄别。

# 前言

最近折腾 Nexus,发现默认部署的最新版本首页有组件数量限制的展示,之前一直没有留意,经过一番了解之后,发现 Nexus 社区版的权益,也在进一步收紧,如果公司打算部署一个 Nexus,做好版本选择就非常关键。

# 版本之辨

Nexus 的组件限制,大致有如下几个版本节点:

  • 官方在 3.66.0 版本中增加了组件和请求数等相关监测指标。详见发版日志 (opens new window)
  • 一直到 3.76.1 版本,监测功能正常工作,当组件达到 10w 个会有建议提醒,但不会限制使用。
  • 从 3.77.0 版本开始,组件数 10w,日请求 20w 规则正式生效,当某个指标达到上限之后,会进入 30 天宽限期,宽限期内读写正常,如果指标降低到上限以内,到期后正常使用,否则将会无法写入。详见发版日志 (opens new window)
  • 从 3.87.0 版本开始,组件数上限降为 4w,日请求数降为 10w。详见发版日志 (opens new window) 在 3.87.0 进一步降低限制之后,开源社区即有人提出担忧:883 (opens new window)

# 验证限制

考虑到有一些版本是统计而不限制,有一些版本是统计且限制,这里用脚本针对几个版本做一下验证测试。

快速部署:

docker run -itd -p 9000:8081 docker.cnb.cool/znb/images/nexus3:3.76.1
docker run -itd -p 9001:8081 docker.cnb.cool/znb/images/nexus3:3.86.3
docker run -itd -p 9002:8081 docker.cnb.cool/znb/images/nexus3
1
2
3

首先创建一个 raw 类型的仓库,接着通过如下 go 脚本,并发上传随机文件,然后静待一阵儿时间,到达统计周期,统计信息生效。

package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
	"sync"
	"time"
)

const (
	NexusURL   = "http://localhost:9000/repository/raw/"
	Username   = "admin"
	Password   = "admin"
	TotalFiles = 200004 // 目标上传总数
	// TotalFiles = 2  // 目标上传总数
	MaxWorkers = 200 // 并发数,根据机器性能调整
)

func main() {
	start := time.Now()
	var wg sync.WaitGroup
	jobs := make(chan int, TotalFiles)

	// 启动 Worker 池
	for w := 1; w <= MaxWorkers; w++ {
		wg.Add(1)
		go worker(w, jobs, &wg)
	}

	// 分发任务
	for i := 1; i <= TotalFiles; i++ {
		jobs <- i
	}
	close(jobs)

	wg.Wait()
	fmt.Printf("\n任务完成!总耗时: %v\n", time.Since(start))
}

func worker(id int, jobs <-chan int, wg *sync.WaitGroup) {
	defer wg.Done()
	client := &http.Client{Timeout: 30 * time.Second}

	for j := range jobs {
		fileName := fmt.Sprintf("test-file-%d.txt", j)
		uploadURL := NexusURL + fileName

		// 创建一个空的 Buffer 作为文件内容
		data := bytes.NewReader([]byte(""))

		req, err := http.NewRequest("PUT", uploadURL, data)
		if err != nil {
			fmt.Printf("Worker %d: 创建请求失败 %s\n", id, fileName)
			continue
		}

		req.SetBasicAuth(Username, Password)

		resp, err := client.Do(req)
		if err != nil {
			fmt.Printf("Worker %d: 上传失败 %s, 错误: %v\n", id, fileName, err)
			continue
		}

		// 必须关闭 Body 以复用连接
		io.Copy(io.Discard, resp.Body)
		resp.Body.Close()

		if resp.StatusCode >= 200 && resp.StatusCode < 300 {
			if j%100 == 0 {
				fmt.Printf("\r进度: 已上传 %d/%d", j, TotalFiles)
			}
		} else {
			fmt.Printf("\nWorker %d: 触发限制或错误! 文件: %s, 状态码: %d\n", id, fileName, resp.StatusCode)
		}
	}
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80

实测结果如下:

3.76.1

![[Pasted image 20260117160915.png]]

能够看到统计建议是不要超过 10w,实际写入 20w,没有任何影响,也没有强制升级提示。

3.86.3

提示:30 Days RemainingThis instance of Nexus Repository Community Edition has exceeded its usage limit. Limits will be enforced starting February 16, 2026, when new components can no longer be added.

可以看到写入超限之后,会提示进入 30 天宽限期,要么对组件进行清理,要么付费升级解锁限制。

3.88.0

最新版本可以看到组件数达到 4w 即会触发上限提醒。

# 镜像抢救

结合如上信息,我个人建议部署时优先选择 3.76.1 版本进行部署,如果能够预见规模不会很大,那么可以考虑选择 3.86.3。

为了提前预防官方后期进一步降低权益,甚至对制品进行删库,我这里将如上两个版本都做了相应归档,有需要的同学,可以在这里获取。

地址:nexus3-docker (opens new window)

其中的 pack 标签,是考虑到可能有同学不习惯使用 docker 部署,就把对应的软件包也做了下载归档。

$ docker run -it docker.cnb.cool/znb/images/nexus3:pack ls /root

nexus-3.76.1-01-unix.tar.gz
nexus-3.86.3-01-linux-aarch_64.tar.gz
nexus-3.86.3-01-linux-x86_64.tar.gz
1
2
3
4
5

三个制品包,放到了 pack 标签的镜像中,可按需下载使用。如果你还有其他需要使用的版本希望我同步到这个仓库,欢迎评论区留言告诉我。

微信 支付宝
上次更新: 2026/01/17, 21:03:17
手把手教你构建企业级Debian/Ubuntu软件仓库:万字详解 Nexus3 APT代理配置实践
Jenkins入门系列笔记汇总整理

← 手把手教你构建企业级Debian/Ubuntu软件仓库:万字详解 Nexus3 APT代理配置实践 Jenkins入门系列笔记汇总整理→

最近更新
01
手把手教你构建企业级Debian/Ubuntu软件仓库:万字详解 Nexus3 APT代理配置实践
01-17
02
学习周刊-总第246期-2026年第03周
01-15
03
学习周刊-总第245期-2026年第02周
01-08
更多文章>
Theme by Vdoing | Copyright © 2017-2026 | 点击查看十年之约 | 浙ICP备18057030号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式