Nexus

介绍

Nexus 是一个强大的 Maven 和其它仓库的管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问

Nexus官网:https://www.sonatype.com/

官方下载:https://help.sonatype.com/repomanager3/download

安装说明:https://help.sonatype.com/en/installation-methods.html

部署

-----------------------------------安装JDK
[root@wenzi ~]#apt -y install openjdk-8-jdk
[root@wenzi ~]#java -version
openjdk version "1.8.0_392"
OpenJDK Runtime Environment (build 1.8.0_392-8u392-ga-1~22.04-b08)
OpenJDK 64-Bit Server VM (build 25.392-b08, mixed mode)
[root@wenzi ~]#ls
nexus-3.54.1-01-unix.tar.gz  snap  sysinit.sh
[root@wenzi ~]#tar -xf nexus-3.54.1-01-unix.tar.gz -C /usr/local/
[root@wenzi ~]#ln -s /usr/local/nexus-3.54.1-01 /usr/local/nexus
[root@wenzi ~]#ln -s /usr/local/nexus/bin/nexus /usr/bin/

#指定运行身份
[root@wenzi ~]#vim /usr/local/nexus/bin/nexus.rc
run_as_user="root"

#查看配置文件,可修改端口等信息
[root@wenzi ~]#cat /usr/local/nexus/etc/nexus-default.properties
## DO NOT EDIT - CUSTOMIZATIONS BELONG IN $data-dir/etc/nexus.properties
##
# Jetty section
application-port=8081
application-host=0.0.0.0
nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml
nexus-context-path=/

# Nexus section
nexus-edition=nexus-pro-edition
nexus-features=\
 nexus-pro-feature

nexus.hazelcast.discovery.isEnabled=true
#查看JVM配置文件,默认最少4G内存才能启动
[root@wenzi ~]#cat /usr/local/nexus/bin/nexus.vmoptions

-Xms2703m	
-Xmx2703m
-XX:MaxDirectMemorySize=2703m
...

#修改nexus使用的内存为512M
[root@wenzi ~]#head -n 3 /usr/local/nexus/bin/nexus.vmoptions

-Xms512m
-Xmx512m

#启动
nexus start
#状态
nexus status
#停止
nexus stop

#配置service文件
[root@wenzi ~]#systemctl cat nexus.service
# /lib/systemd/system/nexus.service
[Unit]
Description=nexus service
After=network.target

[Service]
Type=forking
LimitNOFILE=65536
ExecStart=/usr/local/nexus/bin/nexus start
ExecStop=/usr/local/nexus/bin/nexus stop
User=root
#User=nexus
Restart=on-abort

[Install]
WantedBy=multi-user.target

#查看端口
[root@wenzi ~]#ss -tnlp | grep java
LISTEN 0      50           0.0.0.0:8081       0.0.0.0:*    users:(("java",pid=5587,fd=756))
LISTEN 0      1          127.0.0.1:39963      0.0.0.0:*    users:(("java",pid=5587,fd=125))

初始化

浏览器访问 http://192.168.28.60:8081

在这里插入图片描述

默认打开无法管理,需要点击右上角Sign In登录才能进行管理

#查看默认登录密码
[root@wenzi ~]#cat /usr/local/sonatype-work/nexus3/admin.password
d1d8a673-0e5f-4c8f-a7c6-bcc9b4de774e

在这里插入图片描述

然后需要重设密码,选择是否开启匿名访问,生产建议打开匿名访问功能,无需登录即可下载资源。

验证默认仓库

Hosted:本地仓库,通常我们会部署自己的构件到这一类型的仓库,比如公司的第三方库

Proxy:代理仓库,它们被用来代理远程的公共仓库,如maven 中央仓库(官方仓库)

Group:仓库组,用来合并多个 hosted/proxy 仓库,当你的项目希望在多个repository 使用资源时就不需要多次引用了,只需要引用一个 group 即可

在这里插入图片描述

优化Maven仓库配置

默认仓库maven-central使用国外仓库地址,可修改为如下的国内镜像地址进行加速

参考 https://developer.aliyun.com/mvn/guide

在这里插入图片描述

在Maven配置文件指定Nexus服务器地址,后续进行Java源码编译可以从Nexus仓库下载相关包

[root@ubuntu2204 ~]#vim /etc/maven/settings.xml
......
	<mirror>   
		<id>my-nexus</id>
		<mirrorOf>*</mirrorOf>
        <name>My-Nexus</name>
		<url>http://nexus.wang.org:8081/repository/maven-central/</url>
   </mirror>
</mirrors>

构建私有yum仓库

通过 Nexus 构建公司内网Yum仓库,代理至阿里云镜像安装包

创建Blob Store

创建自定义存储空间路径,存放仓库数据,注意空间一定要够大。此目录下的子目录在Nexus配置后会自动创建。

[root@wenzi ~]#mkdir -p  /data/blobs

在这里插入图片描述

Type:S3即阿里云、腾讯云等云上的对象存储;Name要见名知意;Path为之前创建的存储路径;Soft Quota是否启用空间限制

在这里插入图片描述
在这里插入图片描述

创建Repositories

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述

此地址即为其它主机使用的baseurl=http://192.168.28.60:8081/repository/zabbix-rocky8/

使用

在Rocky8上配置使用仓库

[root@wenzi yum.repos.d]$cat zabbix-rocky8.repo
[zabbix-nexus]
name=zabbix-nexus
baseurl=http://192.168.28.60:8081/repository/zabbix-rocky8/
gpgcheck=0

[root@wenzi yum.repos.d]$dnf repolist
仓库 id                                                  仓库名称
appstream                                                Rocky Linux 8 - AppStream
baseos                                                   Rocky Linux 8 - BaseOS
extras                                                   Rocky Linux 8 - Extras
zabbix-nexus                                             zabbix-nexus

[root@wenzi ~]$dnf -y install zabbix-agent

在Nexus的仓库中可看到已有从远程镜像源拉取的软件包
在这里插入图片描述

构建私有apt仓库

创建Blob Store

在这里插入图片描述在这里插入图片描述

创建Repositories

在这里插入图片描述

此处Distribution值发行版本,2204对应的是jammy,不同版本一一样,通过cat /etc/os-release可看到
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

使用

在ubuntu2204上修改vim /etc/apt/sources.list,将原本的地址替换为上述地址。

vim中进入底部命令行模式
:1,$s#原地址#新地址#

[root@wenzi blobs]#apt update
Get:1 http://192.168.28.60:8081/repository/ubuntu2204-apt jammy InRelease [270 kB]
Get:2 http://192.168.28.60:8081/repository/ubuntu2204-apt jammy-updates InRelease [119 kB]
Get:3 http://192.168.28.60:8081/repository/ubuntu2204-apt jammy-backports InRelease [109 kB]
....

#安装一个软件验证
[root@wenzi blobs]#apt -y install shellcheck

在Nexus的仓库中可看到已有从远程镜像源拉取的软件包

在这里插入图片描述

最后在Nexus服务上查看

[root@wenzi blobs]#pwd
/data/blobs

#两个软件仓库
[root@wenzi blobs]#ls
ubuntu2204-apt  zabbix-rocky8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值