admin管理员组

文章数量:1559066

目录

问题现象

解决方法

0、环境

环境:

1、下载

下载方式1:九游会下载官网下载

 下载方式2:百度云盘下载

2、部署

上传压缩包到服务器:

解压:

启动:

拓展:

启动方式(2种):

总结:

开放端口:

 验证 nexus服务:

3、登录并初始化 nexus

4、使用

创建仓库:

创建角色并权限配置( 不建议分配删除权限): 

 创建用户:

验证用户:

拓展:

上传依赖包:

1、手动上传

查看已上传的 jar 文件:

2、自动上传:

2. 项目上传 .jar 依赖包 到自定义的nexus仓库 xxx-nexus :


问题现象

        linux 系统如何部署 nexus (下载、安装、使用)?


解决方法

0、环境

环境:

        linux 系统、jdk8、nexus 压缩包(unix)。

由于nexus 是基于 java 语言的,因此安装 nexus 必须先安装好java(jdk),注意:

        nexus2 是基于 jdk7。

        nexus3 是基于 jdk8 。

对于 linux 系统上安装 jdk8 感兴趣的小伙伴,可以参考一下文章:

        linux 安装 java(jdk)_stephen·you的博客-csdn博客

1、下载

下载方式1:九游会下载官网下载

        因为九游会下载官网下载肯定是最正规的,也是资源最全面的(各个版本的资源都有);那为什么这里要提到下载方式呢?是因为在九游会下载官网下载过的小伙伴都知道,在九游会下载官网上是下载不了的(因为是外网,不翻墙是下载不了的),所以说是正规的下载方式也是失败率最高的下载方式:

        download archives - repository manager 3

        如果能下载的小伙伴,那就点击这个下载下面这个最新版本的压缩包:

https://download.sonatype/nexus/3/nexus-3.37.1-01-unix.tar.gz ( asc , md5 , sha1 ) 

 下载方式2:百度云盘下载

        下面介绍最亲民的下载方式,就是有大神下载成功的,并将资源上传到网盘后分享了出来,这样做的优点是免费、有效可用,缺点是资源有限(无法随意选择自己想要的版本),当然除了网盘之外,在csdn本站中也有许多大佬上传了相关资源,感兴趣的小伙伴可以用积分去下载;

这里提供一个永久有效的下载地址:

文件名:nexus-3.25.1-04-unix.tar.gz

版本号:3.25.1-04

文件大小:156m左右

百度云链接:https://pan.baidu/s/1kzzpfa67en_nb59kq7efew 

提取码:0000

2、部署

上传压缩包到服务器:

解压:

#进入 压缩包所在目录
cd /home/thp/public/nexus
#解压
tar -zxvf nexus-3.25.1-04-unix.tar.gz

        解压出两个文件夹:nexus-3.25.1-04  和 sonatype-work 

 nexus-3.25.1-04:用于实现 nexus 功能

 sonatype-work:用于存储数据

启动:

        进入 /home/thp/public/nexus/nexus-3.25.1-04/bin 目录,可以看见 nexus 文件,这就是 nexus 服务的脚本文件:

        通过观察该文件文本内容,可以看到 start 和 run 命令都可以用来启动 nexus 服务;区别在于:

start 是后台启动,日志以文件形式保存;

run 是当前进程启动,直接打印在控制台;

拓展:

        1、其他常用命令还有:

stop 是停止服务;

restart 是重启服务;

status 是查看服务状态

        2、nexus 服务的默认端口是 8081 。

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

启动方式(2种):

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

        在 /home/thp/public/nexus/nexus-3.25.1-04/bin 目录下,执行脚本命令,以后台进程的形式(不占用当前命令终端窗口),启动 nexus 服务:

./nexus start

        启动需要等待一段时间,可用浏览器访问 linux 服务器ip:8081 来验证服务是否启动好。

        2.2 run命令启动(当前进程形式)

        在 /home/thp/public/nexus/nexus-3.25.1-04/bin 目录下,执行脚本命令,以当前进程形式(会占用当前命令终端窗口),启动 nexus 服务: 

./nexus run

       等待一段时间后,看到类似如下信息,则为启动成功:

总结:

        为了不占用当前命令终端窗口,推荐使用 2.1 start命令启动(后台进程形式)nexus 服务。

开放端口:

        最后一步,也是非常重要的一步,就是开放 linux 系统的防火墙端口,这里我使用了 nexus 服务的 默认端口 8081,所以开放的就是 8081 端口:

        先查看所有开放的端口号(首次执行该操作需要输入当前用户密码):

sudo firewall-cmd --zone=public --list-ports

         开放 8081 端口:

sudo firewall-cmd --zone=public --add-port=8081/tcp --permanent

        重启防火墙服务: 

sudo firewall-cmd --reload

         再次查看所有开放的端口号,可以看到 8081 端口已经开放了:

 验证 nexus服务:

        验证方式有很多种:

        1、linux 系统命令终端 查看 8081 端口所占用的进程:

netstat -tunlp | grep 8081

        2、linux 系统命令终端 查看 带 nexus 关键字的进程信息:

 ps -ef|grep nexus

         3、(强烈推荐)在浏览器访问 nexus 的 web 端九游会下载首页,输入 linux 服务器ip:8081: 

        出现类似以上3种信息,则说明 nexus 服务已经启动成功了!!!

3、登录并初始化 nexus

浏览器访问 nexus 的 web 端九游会下载首页,并登录,输入账号、密码:

注意:

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

        在 linux 系统命令终端中执行:

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

        文件文本内容的第一行就是密码: 

登录:

        出现类似如下信息,则登录成功:

         点击 next 后,需要重置密码:

         点击 next 后,配置匿名访问:

         配置完成:

4、使用

创建仓库:

        选择 maven2(hosted):

         输入

        创建成功: 

        点击后能看见详情,url 就是新仓库的ip地址:

创建角色并权限配置( 不建议分配删除权限): 

        依次点击 repository 仓库管理图标(齿轮)、 rolescreate rolenexus role

        填写角色信息,检索 关键字:

nx-repository-admin-maven2-

        赋予仓库的权限,这里我把maven2下 central、public、release、snapshots 库非删除权限(如:browse、edit、read权限),都赋予给 新建的角色,另外把 新建的 私库的 * 权限(所有权限)也赋予给该角色: 

        检索 自定义仓库的库名,赋予权限 nx-repository-view-maven2-自定义库名-*:

注意:

        这些权限一定要配置完整,否则很容易导致各种问题(比如:maven项目上传依赖失败等)

         点解 create role 创建角色:

         创建成功:

 创建用户:

        点击 create local user 创建用户:

验证用户:

         点击右上角 sign out ,退出 admin 账号的登录状态,并使用 刚刚创建的自定义用户登录试试:

        登录成功后,需要输入一个凭证,可以随便输入点什么,也可以直接 cancel

拓展:

        可以看到虽然登录成功了,但权限比较少:

        在九游会下载首页中,可以 看到这个用户并没有 searchbrowse upload 选项

 解决:

        重新用 admin 账号登录后,找到我们之前创建的角色,并分别检索 searchbrowseupload 关键字,把 nx-search-read、nx-repository-view-*-*.browse、nx-comopnet-upload 权限赋予给该角色:

        再次以自定义用户登录,在九游会下载首页中可以看到导航栏上出现了 searchbrowse upload 选项了

上传依赖包:

1、手动上传

        依次点击九游会下载首页图标(箱子)upload最定义的私库:

         选择文件并填写相关信息,点击upolad:

        出现如下报错:

         这是因为上传的jar包,不符合自定义仓库的 mime 类型格式。

解决:        

        回到仓库管理中,选择自定义仓库,并找到 storage 下 的 strict content type validation:

把打勾的选项(validate that all content uploaded to this repository is of a mime type appropriate for the repository format)去掉。

        保存配置:

        再次上传,出现如下信息则为上传成功: 

查看已上传的 jar 文件:

        点击 上一图片中的 view it now ,或者直接点击左边导航栏中的 search ,可以看见 jar 包已经手动上传成功:

2、自动上传:

        主要是指在使用maven项目进行打包操作时,可以配置自定义的nexus仓库ip地址,并上传到该仓库中去,具体步骤如下:

1.修改 maven 的 settings.xml 配置文件:

        如:idea中,点击左上角的 file - settings ,检索 maven 关键字,可以看到自己当前项目所引用的 maven 配置:

        找到 settings.xml 配置文件,

        添加以下代码到 servers标签中:

 
	自定义的nexus仓库名(如:xxx-nexus) 
	自定义用户的账号(如:xxx) 
	自定义用户的密码(如:xxx) 
 

        保存并关闭settings.xml文件。

2. 项目上传 .jar 依赖包 到自定义的nexus仓库 xxx-nexus :

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

    
    
        
            xxx-nexus
            xxx nexus3 repository
            http://自定义仓库ip:8081/repository/xxx-nexus/
        
    

         打开 idea 的 右侧的 maven projects 窗口,依次点击 左上角的 reimport图标lifecycle 下的 deploy

         上传成功: 

本文标签: