Sonatype Nexus Repository(通常简称 Nexus)

一、Docker 方式搭建(推荐)

Docker 方式能最大程度避免环境依赖问题,一键启动,是新手的首选。

前置条件

  1. 服务器 / 本地已安装 Docker 和 Docker Compose
  2. 至少 2GB 内存(Nexus 运行需要一定内存)
  3. 确保 8081 端口未被占用

1. 创建目录(持久化数据)

首先创建 Nexus 数据存储目录,避免容器删除后数据丢失:

bash

运行

复制代码
# 创建数据目录并设置权限(Nexus 容器内运行用户是 200)
mkdir -p /opt/nexus/data
chown -R 200:200 /opt/nexus/data

2. 编写 Docker Compose 文件

/opt/nexus 目录下创建 docker-compose.yml

yaml

复制代码
version: '3'
services:
  nexus:
    image: sonatype/nexus3:latest  # 官方镜像,也可指定版本如3.60.0
    container_name: nexus3
    restart: always  # 开机自启
    ports:
      - "8081:8081"  # Web 访问端口
      - "8082:8082"  # 可选:Docker 仓库端口(如需管理Docker镜像)
      - "8083:8083"  # 可选:npm 仓库端口
    environment:
      - INSTALL4J_ADD_VM_PARAMS=-Xms512m -Xmx1024m  # 内存配置,根据服务器调整
    volumes:
      - /opt/nexus/data:/nexus-data  # 数据持久化

3. 启动 Nexus

bash

运行

复制代码
# 进入目录启动
cd /opt/nexus
docker-compose up -d

# 查看启动日志(首次启动可能需要1-2分钟)
docker logs -f nexus3

4. 访问与初始化

  1. 访问 Web 界面 :浏览器打开 http://服务器IP:8081

  2. 获取初始密码

    bash

    运行

    复制代码
    # 查看初始管理员密码
    cat /opt/nexus/data/admin.password
  3. 初始化配置

    • 首次登录使用用户名 admin + 上述初始密码
    • 登录后会提示重置密码,建议设置强密码
    • 可选是否启用匿名访问(测试环境可开,生产环境建议关闭)

二、传统手动安装方式(适用于无 Docker 环境)

前置条件

  1. 服务器安装 JDK 8 或 11(Nexus 3.x 要求)
  2. 下载 Nexus 安装包:官网下载地址

1. 安装步骤

bash

运行

复制代码
# 1. 解压安装包(假设下载的是 nexus-3.60.0-unix.tar.gz)
tar -zxvf nexus-3.60.0-unix.tar.gz -C /opt/
mv /opt/nexus-3.60.0 /opt/nexus

# 2. 创建 nexus 用户(不建议用 root 运行)
useradd -r -m -U -d /opt/nexus -s /bin/bash nexus
chown -R nexus:nexus /opt/nexus
chown -R nexus:nexus /opt/sonatype-work  # 数据目录(解压后自动生成)

# 3. 修改配置文件(可选,调整内存)
vi /opt/nexus/bin/nexus.vmoptions
# 修改以下参数(根据服务器内存调整)
-Xms512m
-Xmx1024m

# 4. 设置开机自启
ln -s /opt/nexus/bin/nexus /etc/init.d/nexus
chkconfig --add nexus
chkconfig nexus on

# 5. 启动 Nexus
su - nexus -c "/opt/nexus/bin/nexus start"

# 6. 查看状态
su - nexus -c "/opt/nexus/bin/nexus status"

2. 后续初始化

和 Docker 方式一致:访问 http://IP:8081,用 admin + 初始密码(初始密码路径:/opt/sonatype-work/nexus3/admin.password)登录并重置密码。


三、常用操作与注意事项

1. 核心功能配置(新手常用)

  • 创建仓库 :登录后点击左侧「Repositories」→「Create repository」,可创建:
    • maven2 (proxy):代理中央仓库(如阿里云 Maven 镜像)
    • maven2 (hosted):私有仓库(存放自己开发的包)
    • maven2 (group):仓库组(整合代理 + 私有仓库,方便项目统一引用)
  • 仓库访问权限:左侧「Security」→「Roles/Permissions」配置用户和权限,生产环境建议严格控制访问。

2. 常见问题排查

  • 端口被占用 :修改 nexus.properties(Docker 方式在 /opt/nexus/data/etc/nexus.properties,手动安装在 /opt/sonatype-work/nexus3/etc/nexus.properties)中的 application-port 参数。
  • 启动失败 :查看日志(Docker:docker logs nexus3;手动安装:/opt/sonatype-work/nexus3/log/nexus.log)。
  • 内存不足 :调整 nexus.vmoptions 中的 -Xms-Xmx 参数。

总结

  1. 推荐方案 :优先使用 Docker 搭建 Nexus,步骤简单、环境隔离、易维护,核心命令是 docker-compose up -d 启动,cat /opt/nexus/data/admin.password 获取初始密码。
  2. 初始化关键 :首次登录必须重置 admin 密码,生产环境建议关闭匿名访问、配置权限。
  3. 核心用途:搭建后可创建 Maven/Docker 等仓库,实现私有包管理和依赖代理,解决项目依赖下载慢、私有包分发的问题。
相关推荐
骄马之死1 天前
SpringMVC + SpringBoot 核心知识点总结
java·spring boot·后端
郑洁文1 天前
基于Spring Boot的流浪动物救助网站
java·spring boot·后端·毕设·流浪动物救助
螺丝钉code1 天前
JAVA项目 Claude code CLAUDE.md 到底应该怎么写
java·人工智能·claude code
摇滚侠1 天前
Maven 入门+高深 单一架构案例 54-59
java·架构·maven·intellij-idea
VidDown1 天前
Webhook 调试器:让第三方回调“原形毕露”
java·开发语言·javascript·编辑器·postman
折哥的程序人生 · 物流技术专研1 天前
Java 23 种设计模式:从踩坑到精通 | 原型模式 —— 克隆对象,深拷贝与浅拷贝的坑你踩过吗?
java·设计模式·架构·原型模式·单一职责原则
装不满的克莱因瓶1 天前
基于 OpenResty 扩展开发实现动态服务注册与发现能力
java·开发语言·架构·openresty
程序员小羊!1 天前
06Java 异常机制与常用类
java
weixin_523185321 天前
Java基础知识总结(四):引用数据类型与参数传递机制
java·开发语言·python
宸津-代码粉碎机1 天前
Spring AI企业级实战|从RAG优化到Agent多工具调度
java·大数据·人工智能·后端·python·spring