### 环境准备
~~~java
Centos7.9 | Ubunt22.04
本次演示的是Centos7.9
运行内存: 2G
磁盘大小:20G | 50G 均可
IP为: 10.0.0.81
~~~
### Docker一键部署nexus
~~~java
https://www.sonatype.com/products/sonatype-nexus-repository
https://juejin.cn/post/7134673536399966238
docker run -d –name nexus –network host -e INSTALL4J_ADD_VM_PARAMS=”-Xms512m -Xmx512m -XX:MaxDirectMemorySize=1200m” -v nexus-data:/nexus-data sonatype/nexus
docker run -d -p 666:8081 –name nexus -e INSTALL4J_ADD_VM_PARAMS=”-Xms512m -Xmx512m -XX:MaxDirectMemorySize=1200m” -v nexus-data:/nexus-data sonatype/nexus
~~~
~~~java
docker run -d –name nexus –restart unless-stopped –network host -v /opt/nexus-data:/nexusdata -e NEXUS_DATA=/nexus-data -e INSTALL4J_ADD_VM_PARAMS=”-Xms512m -Xmx512m -XX:MaxDirectMemorySize=1200m” sonatype/nexus:latest
docker run -d –name nexus –restart unless-stopped –network host -v /opt/nexus-data:/nexus-data -e NEXUS_DATA=/nexus-data sonatype/nexus3:latest
cat /opt/nexus-data/admin.password
3d1621b3-d4bf-4e76-81d2-7ce26d28f9da
~~~
#### 应用访问
###### http://10.0.0.83:8081


Nexus(全称 Nexus Repository Manager)是 Sonatype 公司开发的**企业级制品仓库管理平台**,是搭建 Maven、npm、Docker 等多生态私服的主流方案,核心是**统一管理、加速下载、安全管控、内部共享**。
### 一、核心定位与价值
私服是企业内网的私有制品仓库,Nexus 是最成熟的私服实现,解决公共仓库的痛点:
– **加速构建**:内网缓存公共依赖,避免重复公网下载,平均提速 78%
– **稳定可靠**:公网故障 / 离线时仍可正常构建
– **安全合规**:权限控制、依赖审计、漏洞扫描
– **内部共享**:托管公司自研 SDK、组件、镜像,不对外暴露
– **节省带宽**:减少公网流量,降低成本
### 二、三大核心仓库类型(必懂)
Nexus 通过三类仓库实现完整的制品管理:
表格
| 类型 | 英文 | 作用 | 典型场景 |
| :———– | :—– | :———————————————————– | :——————————— |
| **代理仓库** | Proxy | 代理远程公共仓库(Maven Central、npm 官方等),缓存已下载制品 | 拉取第三方开源依赖 |
| **宿主仓库** | Hosted | 存储企业自研 / 私有制品,支持上传 / 发布 | 内部 SDK、业务组件、私有镜像 |
| **仓库组** | Group | 聚合多个仓库(Proxy+Hosted),提供统一访问入口 | 简化客户端配置,一次请求查所有仓库 |
### 三、支持的制品格式(多生态统一管理)
Nexus 3.x 原生支持主流技术栈:
– Java/Maven:jar、pom、war、ear
– 前端:npm、yarn、bower
– 容器:Docker、Helm
– 其他:PyPI、NuGet、Go、RubyGems、YUM、APT、Git LFS 等
### 四、核心功能
1. **代理缓存**:自动缓存远程仓库制品,下次直接内网获取
2. **权限管控**:RBAC 细粒度权限,支持 LDAP 集成,控制上传 / 下载 / 删除
3. **版本管理**:制品版本化、快照 / 发布版区分、清理策略
4. **搜索与浏览**:Web 界面快速检索、查看元数据、下载制品
5. **安全审计**:依赖漏洞扫描(Pro 版)、访问日志、合规检查
6. **CI/CD 集成**:与 Jenkins、GitLab CI、GitHub Actions 无缝对接,自动发布
### 五、版本与部署
– **版本**:主流为 Nexus Repository OSS(开源免费)、Nexus Repository Pro(商业版,含高级安全 / 集群)
– **部署**:支持 Docker、Linux/Windows 二进制、K8s,开箱即用,内置 Jetty,无需额外数据库
### 六、典型工作流程(Maven 场景)
1. 开发者 Maven 请求依赖 → 指向 Nexus 仓库组
2. Nexus 先查本地 Hosted / 缓存 → 有则直接返回
3. 无则通过 Proxy 拉取远程仓库 → 缓存后返回开发者
4. 内部组件打包后,通过 Maven deploy 上传到 Hosted 仓库
### 七、为什么选 Nexus
– **生态最成熟**:Maven 私服事实标准,社区 / 文档完善
– **多格式统一**:一套平台管理全栈制品,降低运维成本
– **性能与稳定**:高并发、高可用,支持企业级规模
– **安全能力强**:漏洞检测、权限、审计,满足合规要求
## nexus使用指南
#### 创建yum仓库






## 修改yum仓库
~~~java
1.备份原有的yum源/aot源
mkdir -p /etc/yumBacker
mv /etc/yum.repos.d /etc/yumBacker
#如果/etc/yum.repos.d/这个目录也给删了或者移动了,无法生效
#解决方法创建/etc/yum.repos.d/并授权
mkdir -p /etc/yum.repos.d/
chmod 755 /etc/yum.repos.d/
2.修改yum源
vim /etc/yum.repos.d/nexus.repo
[nexus]
name=yumHosted
baseurl=http://10.0.0.83:8081/repository/yumHosted/
enabled=1
gpgcheck=0
~~~
## nexus源生效与测试
~~~java
1.清理原有的yum源
yum clean all
2.建立源数据缓存
yum makecache
3.检查状态
yum repolist all
yum repolist enabled
4.
curl http://10.0.0.83:8081/repository/yumHosted/
5.
wget http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.20.1-1.el7.ngx.x86_64.rpm
6.上传到nexus
curl -u admin:admin123 –upload-file nginx-1.20.1-1.el7.ngx.x86_64.rpm http://10.0.0.83:8081/repository/yumHosted/
7.使用yum list 查看可安装的软件包
yum list
可安装的软件包
nginx.x86_64 1:1.20.1-1.el7.ngx nexus
~~~
### 测试
~~~java
yum install -y nginx.x86_64
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
–> 正在检查事务
—> 软件包 nginx.x86_64.1.1.20.1-1.el7.ngx 将被 安装
–> 解决依赖关系完成
依赖关系解决
========================================================================================================================
Package 架构 版本 源 大小
========================================================================================================================
正在安装:
nginx x86_64 1:1.20.1-1.el7.ngx nexus 790 k
事务概要
========================================================================================================================
安装 1 软件包
总下载量:790 k
安装大小:2.8 M
Downloading packages:
nginx-1.20.1-1.el7.ngx.x86_64.rpm | 790 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : 1:nginx-1.20.1-1.el7.ngx.x86_64 1/1
———————————————————————-
Thanks for using nginx!
Please find the official documentation for nginx here:
* https://nginx.org/en/docs/
Please subscribe to nginx-announce mailing list to get
the most important news about nginx:
* https://nginx.org/en/support.html
Commercial subscriptions for nginx are available on:
* https://nginx.com/products/
———————————————————————-
验证中 : 1:nginx-1.20.1-1.el7.ngx.x86_64 1/1
已安装:
nginx.x86_64 1:1.20.1-1.el7.ngx
完毕!
查看是否上传成功
curl -I -u admin:admin123 “http://10.0.0.83:8081/repository/yumHosted/nginx-1.20.1-1.el7.ngx.x86_64.rpm”
HTTP/1.1 200 OK
Server: Nexus/3.90.1-01 (COMMUNITY)
X-Content-Type-Options: nosniff
Content-Security-Policy: sandbox allow-forms allow-modals allow-popups allow-presentation allow-scripts allow-top-navigation
X-XSS-Protection: 0
ETag: “e30a6cfc21ff4ffa87138568a1e2fb70fab4bcf7”
Last-Modified: Fri, 20 Mar 2026 04:37:32 GMT
Content-Type: application/x-rpm
Content-Length: 808876
~~~
### 看到安装成功,那么恭喜你,你已经会使用nexus搭建自己的私有仓库