Sonatype Nexus Repository搭建与使用(详细教程3.70.1)

news/2024/9/23 4:19:43/

目录

一. 环境准备

二. 安装jdk

三. 搭建Nexus存储库

四. 使用介绍


 

一. 环境准备

主机名IP系统软件版本配置信息
nexus192.168.226.26Rocky_linux9.4

Nexus Repository 3.70.1

MySQL8.0

jdk-11.0.23

2核2G,磁盘20G

进行时间同步,关闭防火墙和selinux

Java Archive Downloads - Java SE 11 | Oracle 台灣icon-default.png?t=N7T8https://www.oracle.com/tw/java/technologies/javase/jdk11-archive-downloads.html

下载 (sonatype.com)icon-default.png?t=N7T8https://help.sonatype.com/en/download.html

 

二. 安装jdk

上传至服务器

[root@nexus ~]# ll
total 164856
-rw-------. 1 root root       815 Jun  6 14:00 anaconda-ks.cfg
-rw-r--r--  1 root root 168807248 Jul 29 19:31 jdk-11.0.23_linux-x64_bin.rpm

安装jdk

[root@nexus ~]# yum install -y jdk-11.0.23_linux-x64_bin.rpm

验证安装

[root@nexus ~]# java -version
java version "11.0.23" 2024-04-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.23+7-LTS-222)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.23+7-LTS-222, mixed mode)

 默认的安装目录在/usr/lib/jvm/

[root@nexus jdk-11-oracle-x64]# pwd
/usr/lib/jvm/jdk-11-oracle-x64
[root@nexus jdk-11-oracle-x64]# ll
total 24
-rw-r--r--  1 root root  160 Mar 12 05:22 README.html
drwxr-xr-x  2 root root 4096 Jul 29 19:33 bin
drwxr-xr-x  4 root root  112 Jul 29 19:33 conf
drwxr-xr-x  3 root root  132 Jul 29 19:33 include
drwxr-xr-x  2 root root 4096 Jul 29 19:33 jmods
drwxr-xr-x 72 root root 4096 Jul 29 19:33 legal
drwxr-xr-x  7 root root 4096 Jul 29 19:33 lib
drwxr-xr-x  3 root root   18 Jul 29 19:33 man
-rw-r--r--  1 root root 1314 Mar 12 05:22 release

三. 搭建Nexus存储库

 

[root@nexus ~]# ll
total 414896
-rw-------. 1 root root       815 Jun  6 14:00 anaconda-ks.cfg
-rw-r--r--  1 root root 168807248 Jul 29 19:31 jdk-11.0.23_linux-x64_bin.rpm
-rw-r--r--  1 root root 256037663 Jul 29 19:43 nexus-3.70.1-02-java11-unix.tar.gz

解压缩

[root@nexus ~]# tar -zxvf nexus-3.70.1-02-java11-unix.tar.gz -C /opt[root@nexus ~]# ll /opt
total 0
drwxr-xr-x 10 root root 181 Jul 29 19:56 nexus-3.70.1-02
drwxr-xr-x  3 root root  20 Jul 29 19:56 sonatype-work

 nexus-3.70.1-02 目录包含了运行 Nexus Repository 所需的所有程序文件和静态资源。

sonatype-work 目录包含了 Nexus Repository 在运行时生成的所有动态数据和用户自定义配置。

创建一个系统用户

[root@nexus ~]# useradd -r nexus

 修改属主和属组

[root@nexus ~]# chown -R nexus:nexus /opt/nexus-3.70.1-02/
[root@nexus ~]# chown -R nexus:nexus /opt/sonatype-work

 切换到nexus用户

[root@nexus ~]# su -l nexus

 进入bin目录

[nexus@nexus root]$ cd /opt/nexus-3.70.1-02/bin/

前台启动,并查看日志,如果要后台启动可以将run替换成start

[nexus@nexus bin]$ ./nexus run

此时,浏览器访问IP+8081端口,例如我这里访问http://192.168.226.26:8081/

点击登录 

初始用户名:admin  初始密码:在登录的提示路径文件里,查看后复制粘贴登录 

[root@nexus ~]# cat /opt/sonatype-work/nexus3/admin.password
6ec6beee-8c9e-4d24-a0b1-3daf8da5d11c

四. 使用介绍

 

将其一个一个删除即可。

创建仓库类型为yum ,Nexus 仓库类型包括 Group、Hosted 和 Proxy。

Group(组仓库):用于组织其他仓库,它本身不存储任何软件包。Group 仓库可以包含其他类型的仓库,例如 Hosted 或 Proxy 仓库,以方便管理和访问。

Hosted(宿主仓库):用于存储自己构建或上传的软件包。Hosted 仓库通常用于内部开发团队共享软件包,或者用于存储私有软件包。

Proxy(代理仓库):用于代理其他公共仓库的软件包。Proxy 仓库可以缓存公共仓库中的软件包,以提高下载速度和节省带宽。Proxy 仓库还可以用于管理和控制对公共仓库的访问。  

创建仓库

 

将复制的链接,替换到下述命令中去终端执行,替换的位置见图,可参考我替换好的代码分析

此原理就是将rocky系统原本的源的baseurl全部替换为我们的Nexus存储库的链接

sed -e 's|^mirrorlist=|#mirrorlist=|g' \-e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=http://192.168.226.26:8081/repository/rocky/|g' \-i.bak \/etc/yum.repos.d/rocky*.repodnf makecache

 查看刚创建的库

查看刚配置好仓库中的一些包 

下载一个软件包

[root@nexus ~]# yum install -y vsftpd

 刷新网页再次打开查看

这时,通过对比下载命令执行前后,可以发现配置好后下载包会进行缓存数据 

此时,我们回退历史命令,即撤销刚下载vsftpd

[root@nexus ~]# yum history
ID     | Command line                                                                                                | Date and time    | Action(s)      | Altered
------------------------------------------------------------------------------------------------------------------------------------------------------------------6 | install -y vsftpd                                                                                           | 2024-07-29 21:15 | Install        |    1   5 | install -y jdk-11.0.23_linux-x64_bin.rpm                                                                    | 2024-07-29 19:33 | Install        |    1   4 | install -y vim wget unzip tar lrzsz                                                                         | 2024-07-02 17:23 | Install        |    7   3 | -y install epel-release                                                                                     | 2024-07-02 17:21 | Install        |    1 EE2 | install -y lrzsz                                                                                            | 2024-07-02 17:20 | Install        |    1  <1 |                                                                                                             | 2024-06-06 13:57 | Install        |  336 >E[root@nexus ~]# yum history undo 6

这时,在Nexus存储库中已经有了缓存,这时回退命令后,我们再次重新下载,可以发现下载时间是瞬间就好了

[root@nexus ~]# yum install -y vsftpd

Nexus 存储库管理器的作用是集中管理各种软件包和库文件,从而简化开发和运维团队的工作流程。通过配置 Nexus 存储库并将系统的 .repo 文件的 baseurl 替换为 Nexus 存储库的链接,可以实现以下目的:

  • 集中管理依赖项

    • Nexus 作为一个中央存储库,可以存储和管理多个不同来源的包,例如 Maven、npm、NuGet、YUM、Docker 等。这使得开发团队可以集中管理所有的依赖项,从而简化项目的依赖管理。
  • 加速构建和部署

    • 通过使用本地的 Nexus 存储库,可以减少对外部网络的依赖,加速构建和部署过程。团队成员可以从本地 Nexus 存储库中快速获取所需的包和依赖项,而无需等待从外部源下载。
  • 提高安全性和稳定性

    • Nexus 存储库可以对存储的包和依赖项进行版本控制,确保开发团队使用的是经过验证和安全的版本。此外,Nexus 还可以设置访问权限,确保只有授权人员才能上传和下载包,提升安全性。
  • 缓存和镜像功能

    • Nexus 可以作为外部存储库的缓存或镜像。当你配置了阿里云仓库的链接并将 .repo 文件的 baseurl 替换为 Nexus 存储库的链接后,Nexus 会在第一次请求时从阿里云仓库获取包并缓存到本地。以后再请求相同的包时,将直接从本地 Nexus 存储库中获取,从而提高下载速度和稳定性。

http://www.ppmy.cn/news/1501877.html

相关文章

学习笔记-系统框图传递函数公式推导

目录 *待了解 现代控制理论和自动控制理论区别 自动控制系统的组成 信号流图 1、系统框图 1.1、信号线、分支点、相加点 1.2、系统各环节间的连接 1.3、 相加点和分支点的等效移动&#xff08;比较点、引出点&#xff09; 2、反馈连接公式推导 2.1、前向通路传递函数…

旷野之间32 - OpenAI 拉开了人工智能竞赛的序幕,而Meta 将会赢得胜利

他们通过故事做到了这一点&#xff08;Snapchat 是第一个&#xff09;他们用 Reels 实现了这个功能&#xff08;TikTok 是第一个实现这个功能的&#xff09;他们正在利用人工智能来实现这一点。 在人工智能竞赛开始时&#xff0c;Meta 的人工智能平台的表现并没有什么特别值得…

类和对象的深入了解4

1.析构函数 1.1析构函数概念 与构造函数功能相反&#xff0c;析构函数不是完成对对象本身的销毁&#xff0c;局部对象销毁工作是由编译器完成 的。而对象在销毁时会自动调用析构函数&#xff0c;完成对象中资源的清理工作。它的名字与类名相同&#xff0c;前面加上一个波浪号…

C#高级:数据库中使用SQL作分组处理3(ROW_NUMBER() 关键字)

一、分组后找出指定序号的数据 【需求】查出每个班级第三个注册入学的学生信息 【表和字段】Student: ID Class Name Registrationtime 【实现SQL】 WITH RankedStudents AS (SELECT ID,Class,Name,Registrationtime,ROW_NUMBER() OVER(PARTITION BY Class ORDER BY Registra…

python机器学习12--Regression回归分析

1.数据准备 第一步&#xff1a;数据内容一定要有以下两种值域的因果数据。 特征&#xff08;Feature&#xff09;&#xff1a;因&#xff0c;在统计学称为自变量&#xff08;Independent Variable&#xff09;。 标签答案&#xff08;Label&#xff09;&#xff1a;果&a…

04-用户画像+sqoop使用

优点 sqoop的作用是实现数据的导入和导出&#xff0c;主要是对数据库和数据仓库之间的操作 只要是支持jdbc连接的数据库都可以使用sqoop操作 添加Sqoop到环境变量中 export SQOOP_HOME/export/server/sqoop export PATH$PATH:$SQOOP_HOME/bin:$SQOOP_HOME/sbinsource /etc/…

最新风车IM即时聊天源码及完整视频教程2024年7月版

堡塔面板 试验性Centos/Ubuntu/Debian安装命令 独立运行环境&#xff08;py3.7&#xff09; 可能存在少量兼容性问题 不断优化中 curl -sSO http://io.bt.sy/install/install_panel.sh && bash install_panel.sh 1.宝塔环境如下: Nginx 1.20 Tomcat 8 MySQL 8.0 R…

vue3在元素上绑定自定义事件弹出虚拟键盘

最近开发中遇到一个需求: 焊接机器人的屏幕上集成web前端网页, 但是没有接入键盘。这就需要web端开发一个虚拟键盘,在网上找个很多虚拟键盘没有特别适合,索性自己写个简单的 图片: 代码: (代码可能比较垃圾冗余,也没时间优化,凑合看吧) 第一步:创建键盘组件 为了方便使用…