3. Nexus 安装与配置:环境要求、安装方式与初始设置
Nexus Repository Manager 的安装是构建高可用制品库的第一步。本章将详细阐述 Nexus 的运行环境要求、两种主流安装方式(RPM 与 Docker)的完整步骤,以及安装后的初始配置与管理员设置。正确的安装与初始化是后续实现高可用切换与故障排查的基础。
3.1 环境要求与前置检查
在安装 Nexus 之前,必须确保目标服务器满足以下最低要求。生产环境建议使用专用服务器或容器,避免与其他高负载应用混部。
| 资源项 | 最低要求 | 生产建议 |
|---|---|---|
| 操作系统 | CentOS 7+ / RHEL 7+ / Ubuntu 18.04+ | RHEL 8 / Rocky Linux 8 |
| CPU | 2 核 | 4 核及以上 |
| 内存 | 4 GB | 8 GB 以上(含 JVM 堆外内存) |
| 磁盘 | 20 GB(系统盘) | 100 GB+ 独立数据盘(SSD 优先) |
| JDK | OpenJDK 8 / 11(64位) | OpenJDK 11(LTS) |
| 文件系统 | ext4 / xfs | xfs(支持大文件与高并发) |
| 网络 | 静态 IP,开放 8081 端口 | 反向代理 + HTTPS(443) |
⚠ 关键限制: Nexus 不能以 root 用户直接运行。安装程序会自动创建
nexus 系统用户。如果手动解压安装,务必确保数据目录(sonatype-work)的属主为 nexus 用户,否则启动将失败。
3.2 安装方式一:RPM 包安装(推荐生产环境)
RPM 安装方式适合 Red Hat 系操作系统,能够自动处理依赖、创建系统服务并配置开机自启,是生产环境的首选方案。
3.2.1 安装步骤
- 添加 Nexus 官方 YUM 仓库
sudo wget -O /etc/yum.repos.d/nexus.repo \
https://download.sonatype.com/nexus/3/nexus-3.x.repo
sudo yum clean all
sudo yum makecache
- 安装 Nexus Repository Manager
sudo yum install -y nexus-repository-manager
- 启动并设置开机自启
sudo systemctl start nexus
sudo systemctl enable nexus
sudo systemctl status nexus
- 查看启动日志(确认无报错)
sudo tail -f /opt/sonatype/nexus/log/nexus.log
💡 提示: 首次启动需要 2-5 分钟,因为 Nexus 会初始化嵌入式数据库(OrientDB / H2)并创建默认仓库。请耐心等待日志中出现
Started Sonatype Nexus 字样。
3.2.2 关键目录结构
| 路径 | 说明 |
|---|---|
/opt/sonatype/nexus |
Nexus 程序主目录 |
/opt/sonatype/sonatype-work |
数据目录(仓库、配置、日志、索引) |
/opt/sonatype/nexus/bin/nexus.vmoptions |
JVM 参数配置文件 |
/opt/sonatype/sonatype-work/nexus3/etc/nexus.properties |
Nexus 核心配置文件 |
3.3 安装方式二:Docker 容器化安装(适合快速部署与测试)
Docker 方式能够快速启动 Nexus 实例,便于环境隔离与版本切换。对于高可用场景,通常结合 Docker Compose 或 Kubernetes 进行编排。
3.3.1 安装步骤
- 拉取官方镜像
docker pull sonatype/nexus3:latest
- 创建持久化数据卷
mkdir -p /data/nexus-data
chown -R 200:200 /data/nexus-data # Nexus 容器内 UID 为 200
- 启动容器
docker run -d \
--name nexus \
-p 8081:8081 \
-v /data/nexus-data:/nexus-data \
sonatype/nexus3:latest
- 检查容器状态与日志
docker logs -f nexus
⚠ 权限陷阱: 宿主机
/data/nexus-data 目录的属主必须设置为 UID 200(nexus 用户),否则容器内进程无法写入数据。如果忘记设置,容器会反复重启。修复命令:sudo chown -R 200:200 /data/nexus-data。
3.4 初始配置与管理员设置
无论使用哪种安装方式,Nexus 启动完成后都需要进行初始配置。以下步骤适用于所有版本。
3.4.1 获取管理员初始密码
Nexus 3.x 版本在首次启动时会自动生成一个随机管理员密码,存储在数据目录中。
# RPM 安装
cat /opt/sonatype/sonatype-work/nexus3/admin.password
# Docker 安装
docker exec nexus cat /nexus-data/admin.password
复制该密码,用于首次 Web 登录。
3.4.2 Web 界面初始化向导
- 访问 Nexus:浏览器打开
http://<服务器IP>:8081 - 登录:用户名
admin,密码使用上一步获取的随机密码 - 重置管理员密码:系统强制要求设置新密码,建议使用强密码并记录到密码管理器
- 配置匿名访问:根据安全策略选择是否启用匿名用户读取仓库(生产环境建议关闭)
- 完成向导:点击“Finish”进入管理后台
3.4.3 关键初始配置项
| 配置项 | 推荐值 | 说明 |
|---|---|---|
| 管理员密码 | 16位以上,含大小写+数字+特殊字符 | 立即修改默认随机密码 |
| 匿名访问 | 关闭(Disable) | 防止未授权访问制品库 |
| Base URL | http://nexus.公司域名.com:8081 |
用于生成仓库 URL 和重定向 |
| SMTP 邮件 | 配置企业邮箱 | 用于密码找回与告警通知 |
| JVM 堆内存 | 物理内存的 50%-70% | 在 nexus.vmoptions 中调整 -Xms 和 -Xmx |
3.5 安装与初始化流程总览
下图展示了从环境准备到管理员配置完成的完整流程,帮助理解各步骤之间的依赖关系。
3.6 安装后验证清单
完成安装与初始化后,建议执行以下验证步骤,确保 Nexus 运行正常,为后续高可用配置做好准备。
- 服务状态:
systemctl status nexus或docker ps显示容器为 Up 状态 - Web 访问:浏览器打开
http://<IP>:8081,能正常显示登录页面 - 管理员登录:使用新密码成功登录管理后台
- 默认仓库:检查是否自动创建了
maven-central、maven-releases、maven-snapshots等仓库 - 日志无报错:
nexus.log中无ERROR或FATAL级别日志 - 磁盘写入:
sonatype-work目录下有数据文件生成
📌 生产环境建议: 安装完成后立即修改
nexus.vmoptions 中的 JVM 堆内存参数,将 -Xms 和 -Xmx 设置为相同值(如 -Xms4g -Xmx4g),避免 JVM 动态调整堆大小带来的性能抖动。同时配置 nexus.properties 中的 application-port 和 application-host 以绑定指定 IP。