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

Ubuntu 24.04 上安装 Sonatype Nexus Repository(Maven 私服)

Ubuntu 24.04上安装 Sonatype Nexus Repository(Maven 私服) 是一个很常见的企业或个人构建需求。下面我给你一份完整、稳定、可直接部署的安装指南(基于 Nexus Repository OSS 3.x 最新版)。


🚀 一、安装前准备

✅ 系统要求

  • Ubuntu 20.04 / 22.04 / 24.04(都可以)

  • 2 GB+ 内存(推荐 4 GB)

  • JDK 8 ~ 21(推荐 JDK 21,最新版 Nexus 支持)

  • 开放端口:默认 8081


🧩 二、安装 JDK(如果还没装)

sudo apt update
sudo apt install openjdk-21-jdk -y
java -version

确认输出中有:

openjdk version "21"

📦 三、下载并安装 Nexus

1️⃣ 创建目录

sudo mkdir -p /opt/nexus
cd /opt/nexus

2️⃣ 下载最新 Nexus 版本

到官网查最新版本:
🔗 https://help.sonatype.com/repomanager3/download

或者直接执行(示例为最新 LTS 版本):

sudo wget https://download.sonatype.com/nexus/3/nexus-3.85.0-03-linux-x86_64.tar.gz

3️⃣ 解压

sudo tar -xvf nexus-3.85.0-03-linux-x86_64.tar.gz

你会看到一个目录,例如:

nexus-3.85.0-03/

将其重命名为 nexus3:

sudo mv nexus-3.85.0-03 nexus3


🧱 四、创建运行用户(避免用 root)

sudo useradd -r -m -d /opt/nexus -s /bin/bash nexus
sudo chown -R nexus:nexus /opt/nexus


⚙️ 五、配置 Nexus 环境变量

编辑:

sudo nano /opt/nexus/nexus3/bin/nexus

找到:

#run_as_user=""

改成:

run_as_user="nexus"

保存文件

  1. 按下 Ctrl + O (写作 "Output")

    • 会提示:File Name to Write: filename

    • 回车确认保存。


🔧 六、可选:配置 JVM 内存(大项目建议)

编辑:

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

根据服务器内存修改:

-Xms1G
-Xmx2G
-XX:MaxDirectMemorySize=2G

⚙️ 七、配置环境变量(让系统找到 Nexus 命令)

sudo nano /etc/profile.d/nexus.sh

添加:

export NEXUS_HOME=/opt/nexus/nexus3
export PATH=$NEXUS_HOME/bin:$PATH

保存并执行:

source /etc/profile.d/nexus.sh

🚀 八、启动 Nexus

切换到 nexus 用户:

sudo su - nexus

启动:

/opt/nexus/nexus3/bin/nexus start

查看状态:

/opt/nexus/nexus3/bin/nexus status

日志文件位置:

/opt/nexus/sonatype-work/nexus3/log/nexus.log

🌐 九、访问 Nexus Web 控制台

浏览器打开:

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

首次启动可能需要 1~2 分钟加载。


🔑 十、获取初始管理员密码

方法 1:退出当前用户

直接输入:exit

或者按下:Ctrl + D

这会 退出当前 shell,回到上一个用户(例如你最开始的登录用户)。

sudo cat /opt/nexus/sonatype-work/nexus3/admin.password

复制文件中内容,在登录页面用:

  • 用户名:admin

  • 密码:上面文件中的密码

首次登录会提示你修改密码。


🧰 十一、设置开机自启(systemd)

创建服务文件:

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/nexus3/bin/nexus start
ExecStop=/opt/nexus/nexus3/bin/nexus stop
Restart=on-abort[Install]
WantedBy=multi-user.target

保存后执行:

sudo systemctl daemon-reload
sudo systemctl enable nexus
sudo systemctl start nexus

检查运行状态:

sudo systemctl status nexus

✅ 十二、访问和使用

默认界面:

http://<server-ip>:8081/

默认仓库结构:

  • maven-releases → 正式版本上传

  • maven-snapshots → SNAPSHOT版本

  • maven-central → 代理中央仓库

  • maven-public → 上述三个聚合仓库(开发者使用)


⚠️ 十三、常见问题

问题解决方法
Nexus 启动失败,提示 “database read-only”磁盘写权限不足,或 DB 损坏。可备份 /opt/nexus/sonatype-work/nexus3/db 后重新导入 JSON
页面访问不到检查防火墙:sudo ufw allow 8081
Nexus 日志过大logrotate 定期清理 /opt/nexus/sonatype-work/nexus3/log

💡 十四、可选优化

  1. 改端口号

    sudo nano /opt/nexus/nexus3/etc/nexus-default.properties
    

    找到:

    application-port=8081
    

    改为你想要的端口,重启服务。

你修改了 nexus-default.properties 的端口号,但端口没有生效,这在 Nexus OSS 中是 很常见的新手误区。原因在于 nexus-default.properties 只用于默认配置,已经生成的 Nexus 实例会优先使用 nexus.properties 文件

下面我帮你分析原因并给出正确修改方法👇


1️⃣ 原因分析

  • nexus-default.properties

    • 位于:/opt/nexus/nexus3/etc/nexus-default.properties

    • 作用:模板配置,只在第一次启动时复制生成 nexus.properties

    • 后续启动会忽略它

  • nexus.properties

    • 位于:/opt/nexus/nexus3/etc/nexus.properties

    • Nexus 实际运行时读取的文件

    • 修改这个文件才能真正生效

所以,你修改的是模板文件,并没有被 Nexus 使用。


2️⃣ 正确修改端口的方法

1. 打开实际配置文件

sudo nano /opt/nexus/nexus3/etc/nexus.properties

2. 修改端口号

找到这一行:

application-port=8081

改成你想要的端口,例如:

application-port=8090

保存并退出 (Ctrl+O → 回车 → Ctrl+X)


3. 重启 Nexus

sudo systemctl restart nexus

或者,如果你直接用 nexus 用户启动:

sudo su - nexus
/opt/nexus/nexus3/bin/nexus restart

4. 验证端口是否生效

netstat -tlnp | grep java

或者访问:

http://<服务器IP>:8090/

3️⃣ ⚠️ 注意事项

  1. 确保你修改的是 nexus.properties,而不是 nexus-default.properties

  2. 修改端口时,确认防火墙允许新端口:

sudo ufw allow 8090
  1. Nexus 需要重启才能生效,修改后不会自动刷新


💡 小贴士:

  • nexus-default.properties 一般 不再改动

  • 所有自定义配置都写在 nexus.properties

  1. 配置上传凭证
    在 UI 中新建 Repository → “maven2 (hosted)” → 选择 Releases / Snapshots 类型。

  2. 设置 Maven 上传信息
    Maven settings.xml 中:

    <server><id>nexus-releases</id><username>admin</username><password>你的密码</password>
    </server>
    

http://www.dtcms.com/a/508721.html

相关文章:

  • 01_svm_二分类
  • 莱芜定制网站建设公司培训机构排名前十
  • 基于单片机的四沟道步进电机玉米补种机设计与实现
  • 网络安全设备:入侵检测系统(IDS)、入侵防御系统(IPS)的配置与使用
  • 阿里云 oss做网站吉林省住房建设保障厅网站
  • 鸿蒙Next Performance Analysis Kit:打造极致流畅的应用体验
  • SkyWalking运维实战指南:配置解析与日常运维全攻略
  • 网站建设目标初步目标wordpress多少钱一年
  • 济南网站搜索排名深圳知名网站设计公司排名
  • 最好的网站模板用树莓派做网站服务器好吗
  • Java 25 中的 6 个新特性解读
  • 力扣hot100做题整理91-100
  • 【FPGA】设计流程——仿真验证
  • 做黑彩网站图片脑叶公司
  • php网站建设实例最佳搜索引擎磁力吧
  • BearPi小熊派 鸿蒙入门开发笔记(4)
  • 做网站排名收益做网站主页上主要放哪些内容
  • 如何做网站流量买卖2017网站发展趋势
  • nvidia gr00t运行服务和客户端,以及模型微调的时候碰到模型无法下载的问题,解决方法是下载离线的模型,然后修改路径,nvidia gr00t模型微调
  • 网站建设费用贵不贵房屋和建设工程信息平台
  • 企业网站源码模板网站建设与维护方式
  • lora与模型的关系(小白入门了解)
  • xtuoj 公共的数
  • 删除西部数码网站管理助手嘟嘟嘟在线视频免费观看
  • 做网站要会写代码吗网站建设硬件投入表
  • 有官网建手机网站吗做自己域名的网站很贵吗
  • 网站建设方案书含合同做网站 内网怎么映射
  • jmeter性能测试完美入门
  • 余姚做网站的公司建筑人才网平台
  • 娱乐类网站wordpress男同