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 小时前
MyBatis XML 开发实战:从配置到 CRUD 全解析
xml·java·mybatis
哦虎!6 小时前
【JavaEE】网络初识
java
for_ever_love__6 小时前
MySQL ORDER BY 排序优化:从 Using filesort 到索引有序扫描(含双路 / 单路排序原理)
java·mysql·优化·存储·by·order·filesort
我是人✓7 小时前
Java文件上传三方式对比:从传统到SpringBoot
java·开发语言
欣栀♡7 小时前
JVM 频繁 Full GC 先看日志括号里的 cause,jstat 的 FGC 在 JDK 8 上会骗人
java·jvm
IT研究室8 小时前
最新计算机毕业设计选题推荐-基于spring boot的葡萄酒文化宣传网站-网站-文档指导-Java-springboot
java·spring boot·课程设计
慧都小项8 小时前
MyEclipse 中创建和测试 JAX-RS REST 接口:从项目配置到 REST Explorer
java·restful·myeclipse·jax-rs
Wang's Blog8 小时前
Java 项目实战: 交友项目 - 入门案例:编写 Dubbo 服务提供者
java·dubbo·交友
秋饼8 小时前
Spring AI 2.0 结构化输出企业级实战:从 BeanOutputConverter 源码到生产级解析容错
java·ai·技术分享·后端开发
摇滚侠8 小时前
《计算机是如何工作的:人人都能懂的计算机软硬件工作原理》第 9 章 机器码与汇编语言 阅读笔记 9
java·开发语言·笔记