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 的内存使用,可以通过以下方法:
- 使用工具如
jconsole
或VisualVM
连接到 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/