手把手教你Linux部署Nexus3私服
  55idDNLVtCog 2023年11月02日 48 0


一、Nexus介绍

对maven来说仓库分为两类:本地仓库和远程仓库,有三种专门的Maven仓库管理软件可以用来帮助我们建立私服:chiva、Artifactory和Nexus。Nexus是当前最流行的Maven仓库管理软件。Nexus包含了各种类型的仓库的概念,包括代理仓库、宿主仓库、仓库组等。每一种仓库都提供了丰富实用的配置参数,方便用户根据需要进行定制。

二、部署Nexus所需环境

1、Linux系统
2、JDK1.8
3、Maven

1、Linux版本Nexus下载

特别说明:由于官网是国外网站,下载速度属实慢的一批,建议还是线下下载

Nexus官网下载地址

百度云下载地址:

链接:https://pan.baidu.com/s/1sv1aFlawnqguevDntMBaOQ?pwd=69dx 
提取码:69dx

2、上传压缩包至服务器并对其进行解压

具体步骤

1、进入到soft目录

cd /home/soft

2、新建nexus目录

mkdir nexus

3、进入到nexus目录

cd nexus

4、使用rz指令上传压缩包

rz

5、耐心等待上传完成后进行解压

tar -zxvf  nexus-3.31.1-01-unix.tar.gz

6、解压完会有两个文件夹ll

nexus-3.31.1-01  用于实现 nexus 功能
 sonatype-work 用于存储数据

3、修改Nexus端口(默认为8081)

默认端口是 8081,如果要修改,可以在 sonatype-work/nexus3/etc 目录下的 nexus.properties 配置文件,将 application-port 配置成你要的端口号即可

4、开放防火墙 或 在服务器安全组添加开放端口

打开防火墙配置文件

vim /etc/sysconfig/iptables

添加开放端口:

-A INPUT -p tcp -m state --state NEW -m tcp --dport 8090 -j ACCEPT

重启防火墙服务

service   iptables restart

5、启动Nexus服务

start命令启动(后台进程形式)
 

./nexus start

6、浏览器访问Nexus的Web端首页,输入Linux服务器ip:8081

手把手教你Linux部署Nexus3私服_上传

这样就部署好了。

三、登录并初始化Nexus控制台

1、登录,输入账号、密码:

注意:

有些 Nexus 的版本中,是有默认配置的账号(admin)、密码(admin123)的,如果登录失败的话,可以在 sonatype-work/nexus3 目录下 的 admin.password 文件中查看初始化密码。

进入 admin.password 文件所在目录
cd /usr/local/nexus/sonatype-work/nexus3
查看 admin.password 文件文本内容
cat admin.password
或
vi admin.password
或
vim admin.password

出来的一串字符就是我们登录的密码

四、了解Nexus仓库

1、仓库&类型

(1)仓库

仓库名

描述

maven-central

maven中央库,默认从https://repo1.maven.org/maven2/拉取jar

maven-release

私库发行版jar

maven-snapshots

私库快照(调试版本)jar

maven-public

仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置settings.xml中使用

(2) 类型

类型

描述

group(仓库组类型)

用于方便开发人员自己设定的仓库

hosted(宿主类型)

内部项目的发布仓库(内部开发人员,发布上去存放的仓库)

proxy(代理类型)

从远程中央仓库中寻找数据的仓库(可以点击对应的仓库的Configuration页签下Remote Storage Location属性的值即被代理的远程仓库的路径)

virtual(虚拟类型)

虚拟仓库(这个基本用不到,重点关注上面三个仓库的使用)

2、拉取jar包流程

Maven可直接从宿主仓库下载构件,也可以从代理仓库下载构件,而代理仓库间接的从远程仓库下载并缓存构件,为了方便,Maven可以从仓库组下载构件,而仓库组并没有实际的内容(下图中用虚线表示,它会转向包含的宿主仓库或者代理仓库获得实际构件的内容)

手把手教你Linux部署Nexus3私服_linux_02

五:创建仓库

经过上面对仓库的一些了解,接下来我们进行创建仓库,分为是 代理仓库(proxy) 、宿主仓库(hosted) 、仓库组(group) ,点击主页上面的小螺丝然后在选择 Repositories 进入仓库管理列表,然后就可以开始创建我们的仓库啦,选择仓库类型的时候一定要选择 maven2

手把手教你Linux部署Nexus3私服_github_03

手把手教你Linux部署Nexus3私服_上传_04

1:proxy代理仓库

我们使用阿里的中央仓库

https://maven.aliyun.com/repository/central

手把手教你Linux部署Nexus3私服_运维_05

其中第5步,记得点击View Certificate

完事之后直接滑到下面点击创建

2:hosted宿主仓库

这里可以创建 releases 和 snapshot 类型的仓库,这里就演示一种

手把手教你Linux部署Nexus3私服_linux_06

第二步中可选择 Release,snapshot,mixed  我们通常使用release和snapshot.

第三步默认Allow redeploy

完事之后直接滑到下面点击创建

3:group仓库组

手把手教你Linux部署Nexus3私服_linux_07

其中成员就是我们之前创建的仓库

六:实际操作

1:maven修改配置

(1)maven在IDEA中的位置

File->setting->Build,Execution,Deployment->Build Tools->maven

手把手教你Linux部署Nexus3私服_maven_08

1是maven配置的位置

2:maven的地址

3:xml文件的位置

4:本地maven仓库的位置

(2)修改maven服务下的setting.xml

添加以下代码到 servers标签中 用于上传jar包

<server>
		<id>releases</id><!--对应项目pom文件中设置的-->
		<username>admin</username>
		<password>admin123</password>
    </server>
	<server>
		<id>snapshots</id><!--对应项目pom文件中设置的-->
		<username>admin</username>
		<password>admin123</password>
    </server>

添加以下代码到 mirrors 标签中 用于拉取上传的 jar 包

<mirror>
	     <id>maven-central</id>
	     <mirrorOf>*</mirrorOf>
	    <name>my maven resp</name>
	    <url>http://192.168.171.5:8081/repository/me-release/</url>
    </mirror>

2:jar包上传到仓库

找到需要上传.jar包的模块中的pom文件(项目全部jar包都要上传,则可以在项目最外层的pom.xml)中加入以下代码到 project 标签下

<distributionManagement>
        <repository>
            <id>releases</id>
            <name>Nexus Release Repository</name>
            <url>http://192.168.171.5:8081/repository/me-release/</url>
        </repository>
        <snapshotRepository>
            <id>snapshots</id>
            <name>Nexus Snapshot Repository</name>
            <url>http://192.168.171.5:8081/repository/me-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

打开 IDEA 的 右侧的 Maven Projects 窗口,依次点击 左上角的 reimport图标、LifeCycle 下的 deploy

手把手教你Linux部署Nexus3私服_运维_09

1:执行构建并上传到nexus

2:显示上传成功。

3:nexus中参看jar包

手把手教你Linux部署Nexus3私服_运维_10

七:引用jar包

在pom文件中引入:

<dependency>
            <groupId>com.iflytek.whb</groupId>
            <artifactId>StudyDemo</artifactId>
            <version>1.0</version>
    </dependency>

八:设置开机启动nexus

1、新建服务脚本

vim /etc/init.d/nexus

2:添加内容

#!/bin/sh
#chkconfig:2345 20 90
#description:nexus
#processname:nexus

export JAVA_HOME=/home/soft/jdk
case $1 in
        start) su root /home/soft/nexus/nexus-3.31.1-01/bin/nexus start ;;
        stop) su root /home/soft/nexus/nexus-3.31.1-01/bin/nexus stop ;;
        status) su root /home/soft/nexus/nexus-3.31.1-01/bin/nexus status ;;
        restart) su root /home/soft/nexus/nexus-3.31.1-01/bin/nexus restart ;;
        dump) su root /home/soft/nexus/nexus-3.31.1-01/bin/nexus dump ;;
        console) su root /home/soft/nexus/nexus-3.31.1-01/bin/console ;;
        *) echo "require command | start | stop | restart | status | dump " ;;
esac

3 可执行授权:

chmod +x /etc/init.d/nexus

4:加入开机启动服务

chkconfig --add nexus

5:查看启动列表,检查是否成功加入

chkconfig --list

6:启动nexus

service nexus start

参考:Linux部署Nexus私服_linux nexus搭建_陌影2272424的博客

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
55idDNLVtCog