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 等仓库,实现私有包管理和依赖代理,解决项目依赖下载慢、私有包分发的问题。
相关推荐
oak隔壁找我1 天前
JVM常用调优参数
java·后端
蝎子莱莱爱打怪1 天前
OpenClaw 从零配置指南:接入飞书 + 常用命令 + 原理图解
java·后端·ai编程
狼爷1 天前
Go 没有 override?别硬套继承!用接口+嵌入,写更清爽的“覆盖”逻辑
java·go
小兔崽子去哪了1 天前
Java 自动化部署
java·后端
ma_king1 天前
入门 java 和 数据库
java·数据库·后端
后端AI实验室1 天前
我用Cursor开发了3个月,整理出这套提效4倍的工作流
java·ai
码路飞2 天前
GPT-5.3 Instant 终于学会好好说话了,顺手对比了下同天发布的 Gemini 3.1 Flash-Lite
java·javascript
SimonKing2 天前
OpenCode AI编程助手如何添加Skills,优化项目!
java·后端·程序员
Seven972 天前
剑指offer-80、⼆叉树中和为某⼀值的路径(二)
java
怒放吧德德2 天前
Netty 4.2 入门指南:从概念到第一个程序
java·后端·netty