Ubuntu 上安装和配置 Nexus Repository Manager

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.rhkb.cn/news/17996.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云原生AI Agent应用安全防护方案最佳实践(上)

当下&#xff0c;AI Agent代理是一种全新的构建动态和复杂业务场景工作流的方式&#xff0c;利用大语言模型&#xff08;LLM&#xff09;作为推理引擎。这些Agent代理应用能够将复杂的自然语言查询任务分解为多个可执行步骤&#xff0c;并结合迭代反馈循环和自省机制&#xff0…

三格电子——TCP转ProfibusDP网关使用场景

型号&#xff1a; SG-TCP-Profibus(M) 感兴趣可以TB 搜 三格电子 使用场景&#xff1a; ModbusTCP Client 通过 ModbusTCP 控制 Profibus DP 接口设备。 ModbusTCP 侧支持03H、04H、10H 功能码&#xff0c;只支持 1 个client连接&#xff1b; ProfibusDP 侧支持 DP v0。 P…

剑指offer第2版:搜索算法(二分/DFS/BFS)

查找本质就是排除的过程&#xff0c;不外乎顺序查找、二分查找、哈希查找、二叉排序树查找、DFS/BFS查找 一、p39-JZ3 找出数组中重复的数字&#xff08;利用特性&#xff09; 数组中重复的数字_牛客题霸_牛客网 方法1&#xff1a;全部排序再进行逐个扫描找重复。 时间复杂…

小众宝藏分子生物学实验中常用的软件:InSequence

欢迎使用InSequence&#xff0c;正版免费使用&#xff0c;操作友好&#xff0c;小白也能轻松上手哦~ 1. 全新中文界面与更大操作空间 全中文简洁直观的操作界面&#xff0c;常用功能固定至工具栏&#xff0c;随心自定义更改工具栏&#xff0c;让科研人员能够更快速地上手&…

南京观海微电子----整流滤波电路实用

01 变压电路 通常直流稳压电源使用电源变压器来改变输入到后级电路的电压。电源变压器由初级绕组、次级绕组和铁芯组成。初级绕组用来输入电源交流电压&#xff0c;次级绕组输出所需要的交流电压。通俗的说&#xff0c;电源变压器是一种电→磁→电转换器件。即初级的交流电转化…

python 的框架 dash 开发TodoList Web 应用

TodoList Web 应用 项目简介 这是一个基于 Dash 和 SQLAlchemy 的现代化 TodoList Web 应用&#xff0c;提供了简单而强大的待办事项管理功能。 主要特性 添加新的待办事项删除待办事项标记待办事项为已完成/未完成分页展示待办事项列表实时更新和交互 技术栈 PythonDash …

tenda路由器WriteFacMac存在远程命令执行漏洞(CVE-2024-10697)

一、漏洞简介 tenda路由器WriteFacMac存在远程命令执行漏洞 二、漏洞影响 tenda路由器三、网络测绘&#xff1a; fofa: title"Tenda | LOGIN"四、复现过程 POC 1 GET /goform/WriteFacMac?macls%20%3E/webroot/1.txt HTTP/1.1 Accept: text/html,application/…

无需编码5分钟免费部署云上调用满血版DeepSeek

大家好&#xff0c;我是 V 哥。如何自己部署DeepSeek调用满血版。首先&#xff0c;如果你遇到了使用公共服务器时的延迟或限制&#xff0c;想要本地部署以获得更好的性能和稳定性。你是不是也想自己来部署DeepSeek呢&#xff0c;其实除了自己部署本地DeepSeek&#xff0c;还可以…

linux笔记3----防火墙(ubuntu)

防火墙管理工具 ubuntu里使用ufw来管理防火墙。ufw是一个管理防火墙规则的前端工具。本文阐述如何开启、关闭防火墙&#xff0c;放行指定端口。 因为我采用putty远程来使用&#xff0c;需要关闭防火墙或者放行22端口。 核心思维 因为ufw只是一个前端工具&#xff0c;所以一开…

【音视频】RTSP拉流: RTP负载AAC详解(三)

此文为系列文章&#xff0c;此系列主要讲解RTSP客户端的拉流及播放&#xff0c;文章持续更新&#xff0c;会从rtsp的基本协议讲起&#xff0c;如何一步步实现音视频的拉流过程&#xff0c;包括一系列涉及到的协议&#xff0c;rtsp&#xff0c;sdp&#xff0c; rtp&#xff08;本…

若依系统环境搭建记录

开源若依系统网上资料也很全的&#xff0c;本篇博文记录下自己搭建环境过程中遇到的一些问题。 配置Maven和编辑器选择 我懒得配置Eclipse了&#xff0c;直接用vscode作为编辑器&#xff0c;后面构建运行都用命令行。 配置数据库连接 按照mysql5.7按网上教程即可&#xff1…

【MySql】应用系统等保测评MySQL服务器相关策略设置以及最终验证,MySQL安全策略设置以及最终验证

文章目录 一、概要二、环境及实现三、前期准备四、操作步骤1、所有的数据库需要设置三权账户&#xff1a;系统管理员、网络管理员和安全管理员创建系统管理员账户&#xff1a;创建网络管理员账户&#xff1a;创建安全管理员账户&#xff1a; 2、所有数据库密码的负责度策略需要…

bootplus管理系统 file/download 任意文件下载漏洞

bootplus管理系统 file/download 任意文件下载漏洞 漏洞描述 bootplus是基于SpringBoot + Shiro + MyBatisPlus的,拥有接口管理,权限管理,监控组件等功能的一体化权限管理框架。该项目中的file/download接口存在任意文件下载漏洞, 攻击者可以通过该漏洞下载查看目标系统的…

《open3d qt 网格采样成点云》

open3d qt 网格采样成点云 效果展示二、流程三、代码效果展示 二、流程 创建动作,链接到槽函数,并把动作放置菜单栏 参照前文 三、代码 1、槽函数实现 void on_actionMeshUniformSample_triggered();//均匀采样 void MainWindow::

部署 DeepSeek R1各个版本所需硬件配置清单

DeepSeek-R1 通过其卓越的推理性能和灵活的训练机制&#xff0c;在 2025 年的春节期间受到了广泛关注。 DeepSeek-R1 是一款高性能的 AI 推理模型&#xff0c;主要通过强化学习技术来增强模型在复杂任务场景下的推理能力。 在本地部署 DeepSeek-R1 时&#xff0c;尤其是完整的…

hive高频写入小数据,导致hdfs小文件过多,出现查询效率很低的情况

问题描述 hive高频写入小数据&#xff0c;导致hdfs小文件过多&#xff0c;出现查询效率很低的情况分析过程 先复现现象 select count() from ads.ads_sdd_flow_managemlt_to_ids_mm;–15分钟&#xff0c;小文件10983 select max(mm) from ads.ads_sdd_flow_managemlt_to_ids…

git用法(简易版)

介绍 git是一个版本管理工具 使用方法 建立仓库 第一步 git init&#xff1a;初始化仓库 第二步 git add .&#xff1a;将代码添加到暂存区 第三步 git commit -m "first"&#xff1a;为修改添加备注 第四步 git remote add origin 你的url 第五步 git pus…

顺序表SeqList(c语言)(动态顺序表)

前言&#xff1a; 顺序表是一种数据结构&#xff0c;是内存中存储数据的一种方式&#xff0c;他的内存连续性使得它有较高的缓存利用率&#xff0c;它在内存中广泛使用&#xff0c;比如数组&#xff0c;就是典型的顺序表。 实现思路&#xff1a; 一般是建立三个文件&#xf…

DeepSeek介绍本地部署保姆级教程

2025年春节前后&#xff0c;DeepSeek 如滚烫油锅中溅入的一碗水&#xff0c;瞬间激起千层浪&#xff0c;在网络世界里掀起了一场热议风暴&#xff0c;迅速火遍大江南北。无论是互联网行业的前沿先锋&#xff0c;还是传统行业的资深从业者&#xff1b;无论是专注于开发、测试、运…

Bash 中的运算方式

目录 概述&#xff1a; 1. (()) 运算符 2. let 命令 3. expr 命令 4. $[] 直接运算 5. bc&#xff08;计算器&#xff0c;支持浮点数&#xff09; 6. awk&#xff08;强大的文本处理工具&#xff0c;也可计算&#xff09; 概述&#xff1a; Bash 本身只支持整数运算&am…