当前位置: 首页 > news >正文

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/

相关文章:

  • React函数组件和类组件
  • DeepSeek的自动化能力如何
  • Ubuntu 24.04 上安装 Nginx
  • 【BUG】Ubuntu|有nvcc,没有nvidia-smi指令,找不到nvidia-driver安装包
  • 香港服务器如何解决视频流播放中的延迟问题?
  • 共用poetry和conda的方法
  • 力扣hot100第三天
  • STM32——HAL库开发笔记19(串口中断接收实验)(参考来源:b站铁头山羊)
  • 2025 西湖论剑wp
  • sql调优之数据库开发规范
  • Sprinig源码解析
  • 3D模型可视化引擎HOOPS Visualize在桌面端的支持有哪些特点?
  • 【LINUX】常用指令查询
  • 第五章 起航10 金字塔原理
  • ollama部署deepseek实操记录
  • 设备智能AI语音交互,ESP32-S3芯片方案应用,物联网无线联动控制
  • Next.js【详解】CSS 样式方案
  • C#搜索算法大冒险:在数据海洋里找宝藏
  • 什么是神经网络?
  • Docker 镜像标签使用
  • 万达电影去年净利润亏损约9.4亿元,计划未来三年内新增25块IMAX银幕
  • 南京106亿元成交19宗涉宅地块:建邺区地块楼面单价重回4.5万元
  • 体重管理门诊来了,瘦不下来的我们有救了?|健康有方FM
  • 海口市政协党组成员、秘书长、机关党组书记汪娟被查
  • 国铁集团郑州局预计“五一”发送642.5万人
  • 国泰海通合并后首份业绩报告出炉:一季度净利润增逾391%