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 安装步骤

  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
  1. 安装 Nexus Repository Manager
sudo yum install -y nexus-repository-manager
  1. 启动并设置开机自启
sudo systemctl start nexus
sudo systemctl enable nexus
sudo systemctl status nexus
  1. 查看启动日志(确认无报错)
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 安装步骤

  1. 拉取官方镜像
docker pull sonatype/nexus3:latest
  1. 创建持久化数据卷
mkdir -p /data/nexus-data
chown -R 200:200 /data/nexus-data   # Nexus 容器内 UID 为 200
  1. 启动容器
docker run -d \
  --name nexus \
  -p 8081:8081 \
  -v /data/nexus-data:/nexus-data \
  sonatype/nexus3:latest
  1. 检查容器状态与日志
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 界面初始化向导

  1. 访问 Nexus:浏览器打开 http://<服务器IP>:8081
  2. 登录:用户名 admin,密码使用上一步获取的随机密码
  3. 重置管理员密码:系统强制要求设置新密码,建议使用强密码并记录到密码管理器
  4. 配置匿名访问:根据安全策略选择是否启用匿名用户读取仓库(生产环境建议关闭)
  5. 完成向导:点击“Finish”进入管理后台

3.4.3 关键初始配置项

配置项 推荐值 说明
管理员密码 16位以上,含大小写+数字+特殊字符 立即修改默认随机密码
匿名访问 关闭(Disable) 防止未授权访问制品库
Base URL http://nexus.公司域名.com:8081 用于生成仓库 URL 和重定向
SMTP 邮件 配置企业邮箱 用于密码找回与告警通知
JVM 堆内存 物理内存的 50%-70% 在 nexus.vmoptions 中调整 -Xms 和 -Xmx

3.5 安装与初始化流程总览

下图展示了从环境准备到管理员配置完成的完整流程,帮助理解各步骤之间的依赖关系。

Nexus 安装与初始化流程 1. 环境检查 OS / JDK / 磁盘 / 网络 2. 选择安装方式 RPM / Docker 3. 安装执行 yum install / docker run 4. 启动服务 systemctl / docker start 5. 获取初始密码 admin.password 文件 6. Web 初始化 重置密码 / 配置向导 ⚠ 关键检查点 • 非 root 用户运行 • 数据目录权限 200:200 • 防火墙放行 8081 端口 💡 初始化后操作 • 配置 Base URL • 调整 JVM 堆内存 • 创建备份策略

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。