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 等仓库,实现私有包管理和依赖代理,解决项目依赖下载慢、私有包分发的问题。
相关推荐
AI你一生一世1 小时前
不止于时序存储:DolphinDB 如何成为 AI 时代的工业智能底座
java·人工智能·struts·时序数据库·工业智能·dolphindb·ai基础设施
云-缩影2 小时前
拆解 AI 图像生成应用的后端架构:ECS、OSS 和大模型 API 怎么配合
java·spring boot·后端
瑞克-桑切斯2 小时前
7、MySQL 慢查询排查与优化实战指南
java·服务器·数据库
海的透彻6 小时前
dockerfile如何快速构建容器(java服务)
java·开发语言
code2cat6 小时前
Java工具篇之Gradle:用任务图组织构建与交付
java·开发语言·单元测试·gradle
后台模板学习7 小时前
大模型 Prompt 工程在电商订单系统中的踩坑记录
java·python·prompt
w_zero_one7 小时前
算法--构造
java·数据结构·算法
SL_staff7 小时前
制造业订单交付崩盘?用四层协同框架重建交付可信度(技术实践)
java·产品·全栈
SL_staff8 小时前
打破风控迭代死循环:用决策编排重构业务与技术协作链路
java·产品·全栈
Mikko79 小时前
Redis 连接数满了服务端有错误信息吗?连接数不增加却命令超时?6.2 实测连接池、超时与大 key 怎么判定
java·spring boot·redis·后端