手把手教你Linux部署Nexus3私服

一、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

这样就部署好了。

三、登录并初始化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-centralmaven中央库,默认从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可以从仓库组下载构件,而仓库组并没有实际的内容(下图中用虚线表示,它会转向包含的宿主仓库或者代理仓库获得实际构件的内容)

五:创建仓库

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

1:proxy代理仓库

我们使用阿里的中央仓库

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

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

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

2:hosted宿主仓库

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

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

第三步默认Allow redeploy

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

3:group仓库组

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


六:实际操作

1:maven修改配置

(1)maven在IDEA中的位置

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

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

1:执行构建并上传到nexus

2:显示上传成功。

3:nexus中参看jar包

七:引用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的博客-CSDN博客

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
"手把手Linux驱动3-之字符设备架构详解,有这篇就够了"是一篇文章,它是《一口Linux》公众号中的驱动部分的一部分。这篇文章主要讲解了Linux内核中的字符设备架构。在Linux中,一切皆文件,所有的硬件设备操作都被抽象成文件的操作。因此,如果应用层要访问硬件设备,它必须调用与硬件对应的驱动程序。这篇文章详细介绍了字符设备的概念、字符设备驱动的结构以及字符设备驱动的注册和注销过程。阅读这篇文章可以帮助读者深入了解Linux驱动开发中字符设备的相关知识。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [公众号一口Linux驱动部分源码汇总.rar](https://download.csdn.net/download/daocaokafei/12740588)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [手把手Linux驱动3-之字符设备架构详解,有这篇就够了](https://blog.csdn.net/daocaokafei/article/details/108172338)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值