Ubuntu 上安装和配置 Nexus Repository Manager

devtools/2025/2/19 8:50:22/

Ubuntu 上安装和配置 Nexus Repository Manager(Sonatype Nexus)通常用于管理 Maven、npm、Docker 等包的私有仓库。以下是详细步骤:


1. 系统准备

更新系统并安装必要依赖:

在终端运行以下命令:

sudo apt update
sudo apt upgrade -y
sudo apt install -y wget openjdk-11-jdk unzip

确保安装了 Java(Nexus 需要 Java 11 或更高版本):

java -version

如果没有安装正确的 Java 版本,可以用以下命令安装:

sudo apt install openjdk-11-jdk

2. 下载 Nexus

访问 Sonatype 官网 下载 Nexus 的最新版本。或者通过终端直接下载:

wget https://download.sonatype.com/nexus/3/latest-unix.tar.gz

3. 解压和移动到目标目录

解压下载的文件:

tar -zxvf latest-unix.tar.gz

将解压后的目录移动到 /opt(或其他你希望的路径):

sudo mv nexus-3.* /opt/nexus
sudo mv sonatype-work /opt/sonatype-work

4. 创建 Nexus 用户

为了安全性,建议创建一个独立用户运行 Nexus:

sudo useradd -M -d /opt/nexus -r -s /bin/false nexus
sudo chown -R nexus:nexus /opt/nexus /opt/sonatype-work

5. 配置 Nexus

编辑 Nexus 启动文件,设置非 root 用户运行:

sudo nano /opt/nexus/bin/nexus.rc

将以下内容添加到文件中:

run_as_user="nexus"

保存并退出。


6. 配置 Nexus 服务

创建一个 Systemd 服务文件来管理 Nexus:

sudo nano /etc/systemd/system/nexus.service

在文件中粘贴以下内容:

[Unit]
Description=Nexus Repository Manager
After=network.target[Service]
Type=forking
LimitNOFILE=65536
User=nexus
Group=nexus
ExecStart=/opt/nexus/bin/nexus start
ExecStop=/opt/nexus/bin/nexus stop
Restart=on-abort[Install]
WantedBy=multi-user.target

保存并退出。


7. 启动并启用 Nexus 服务

重新加载 Systemd 配置:

sudo systemctl daemon-reload

启动 Nexus 服务:

sudo systemctl start nexus

设置开机启动:

sudo systemctl enable nexus

检查服务状态:

sudo systemctl status nexus

8. 访问 Nexus Web 界面

Nexus 默认运行在 8081 端口。打开浏览器,访问以下地址:

http://<你的服务器IP>:8081

首次登录时:

  • 默认用户名:admin
  • 默认密码:在 /opt/sonatype-work/nexus3/admin.password 文件中。
    查看密码命令:
    cat /opt/sonatype-work/nexus3/admin.password
    

9. 配置 Nexus

登录后,根据需要配置:

  • 创建私有 Maven、npm 或 Docker 仓库。
  • 设置用户和权限。
  • 配置代理或组仓库。

如果在安装或运行过程中遇到问题,可以告诉我具体错误,我会帮你排查!

在 Ubuntu 上运行 Nexus 时,可以通过调整启动脚本中的 JVM 参数来配置内存限制为 1GB。以下是详细步骤:


1. 编辑 Nexus 配置文件

打开 Nexus 的 JVM 配置文件:

sudo nano /opt/nexus/bin/nexus.vmoptions

2. 修改 JVM 内存参数

在文件中,找到或添加以下行,设置内存大小为 1GB:

-Xms1G   # 设置 JVM 最小内存为 1GB
-Xmx1G   # 设置 JVM 最大内存为 1GB
-XX:MaxDirectMemorySize=1G  # 设置直接内存为 1GB

解释

  • -Xms:设置 JVM 启动时的最小堆内存大小。
  • -Xmx:设置 JVM 最大堆内存大小。
  • -XX:MaxDirectMemorySize:设置 JVM 的直接内存分配大小。

3. 保存并退出

按下 Ctrl+O 保存更改,按下 Ctrl+X 退出编辑器。


4. 重启 Nexus 服务

使配置生效需要重启 Nexus 服务:

sudo systemctl restart nexus

5. 验证内存设置

检查 Nexus 服务运行状态,确认是否正常启动:

sudo systemctl status nexus

你还可以使用以下命令查看 Nexus 的内存使用情况:

ps aux | grep nexus

6. (可选)监控 JVM 内存

如果需要更详细地监控 Nexus 的内存使用,可以通过以下方法:

  • 使用工具如 jconsoleVisualVM 连接到 Nexus 的 JVM。
  • 在 Nexus 的启动参数中添加 -XX:+PrintGCDetails-XX:+PrintGCTimeStamps,以便在日志中记录垃圾回收信息。

配置完成后,Nexus 将以最大 1GB 的内存运行。如果遇到性能问题,可以根据需要调整内存大小。

上传

mvn deploy:deploy-file -Dfile=\\Mac\Home\Desktop\netty-socketio-1.7.18-SNAPSHOT.jar -DgroupId=com.corundumstudio.socketio -DartifactId=netty-socketio -Dversion=1.7.18-SNAPSHOT -Dpackaging=jar -DrepositoryId=nexus -Durl=http://13.229.140.142:8081/repository/gaming/

http://www.ppmy.cn/devtools/158701.html

相关文章

LabVIEW用户界面(UI)和用户体验(UX)设计

作为一名 LabVIEW 开发者&#xff0c;满足功能需求、保障使用便捷与灵活只是基础要求。在如今这个用户体验至上的时代&#xff0c;为 LabVIEW 应用程序设计直观且具有美学感的界面&#xff0c;同样是不容忽视的关键任务。一个优秀的界面设计&#xff0c;不仅能提升用户对程序的…

deepin linux UOS AI 使用 deepseek-r1 30B

我们用 ollama 下载 deepseek-r1 3B 执行命令: $ ollama pull models/unsloth/DeepSeek-R1-Distill-Qwen-32B-GGUF 下载完成后 我们就要重新更改目录和文件了 deepseek-r1/gguf (这是目录结构) 然后我把 gguf文件 更名成 DeepSeek-R1.gguf (就是目录下最大的那个文件) …

springCloud-2021.0.9 之 GateWay 示例

文章目录 前言springCloud-2021.0.9 之 GateWay 示例1. GateWay 官网2. GateWay 三个关键名称3. GateWay 工作原理的高级概述4. 示例4.1. POM4.2. 启动类4.3. 过滤器4.4. 配置 5. 启动/测试 前言 如果您觉得有用的话&#xff0c;记得给博主点个赞&#xff0c;评论&#xff0c;收…

2025年智慧城市解决方案下载:AI-超脑中台,体系架构整体设计

2025年&#xff0c;随着人工智能、物联网、大数据等新兴技术的深度融合&#xff0c;智慧城市解决方案正迈向更高层次的智能化和协同化阶段。其中&#xff0c;AI-超脑中台作为核心架构的一部分&#xff0c;为城市智能化运行提供了强大支撑。 智慧城市最新解决方案&#xff0c;标…

vue2中 computed 计算属性

文章目录 vue2中 computed 计算属性1. 什么是计算属性&#xff1f;2. 基本用法1. 定义计算属性2. 计算属性的缓存特性 3. 计算属性的高级用法1. 计算属性的 Getter 和 Setter 方法2. 计算属性的依赖追踪 4. 计算属性与方法的区别5. 实际应用案例1. 格式化数据2. 计算总价3. 动态…

用户态进程与内核态进程的区别详解

在 Linux 系统中&#xff0c;进程是操作系统最基本的运行单位&#xff0c;它们分为用户态进程&#xff08;User Mode Process&#xff09;和内核态进程&#xff08;Kernel Mode Process&#xff09;。这两种进程的运行环境、权限、职责和交互方式都有很大不同。对于初学者来说&…

Spring 事务及管理方式

Spring 事务管理是 Spring 框架的核心功能之一&#xff0c;它为开发者提供了一种方便、灵活且强大的方式来管理数据库事务。 1、事务的基本概念 事务是一组不可分割的操作序列&#xff0c;这些操作要么全部成功执行&#xff0c;要么全部失败回滚&#xff0c;以确保数据的一致…

本地部署【LLM-deepseek】大模型 ollama+deepseek/conda(python)+openwebui/docker+openwebui

通过ollama本地部署deepseek 总共两步 1.模型部署 2.[web页面] 参考官网 ollama:模型部署 https://ollama.com/ open-webui:web页面 https://github.com/open-webui/open-webui 设备参考 Mac M 芯片 windows未知 蒸馏模型版本:deepseek-r1:14b 运行情况macminim2 24256 本地…