Linux 部署 Nexus (下载、安装、使用)
目录
问题现象
解决方法
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.com/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.com/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 仓库管理图标(齿轮)、 Roles、Create role、Nexus 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:
拓展:
可以看到虽然登录成功了,但权限比较少:
在首页中,可以 看到这个用户并没有 Search、Browse 和 Upload 选项:
解决:
重新用 admin 账号登录后,找到我们之前创建的角色,并分别检索 search、browse、upload 关键字,把 nx-search-read、nx-repository-view-*-*.browse、nx-comopnet-upload 权限赋予给该角色:
再次以自定义用户登录,在首页中可以看到导航栏上出现了 Search、Browse 和 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标签中:
<server> <id>自定义的Nexus仓库名(如:xxx-nexus)</id> <username>自定义用户的账号(如:xxx)</username> <password>自定义用户的密码(如:xxx)</password>
</server>
保存并关闭settings.xml文件。
2. 项目上传 .jar 依赖包 到自定义的Nexus仓库 xxx-nexus :
找到需要上传.jar包的模块中的pom文件(项目全部jar包都要上传,则可以在项目最外层的pom.xml)中加入以下代码到 project 标签下:
<!--远程仓库地址--><distributionManagement><repository><id>xxx-nexus</id><name>Xxx Nexus3 Repository</name><url>http://自定义仓库ip:8081/repository/xxx-nexus/</url></repository></distributionManagement>
打开 IDEA 的 右侧的 Maven Projects 窗口,依次点击 左上角的 reimport图标、LifeCycle 下的 deploy:
上传成功:
Linux 部署 Nexus (下载、安装、使用)相关推荐
- linux系统Nginx下载安装步骤(含报错解决方法)
linux系统Nginx下载安装步骤(含报错解决方法) 基础步骤 安装过程可能出现的报错及解决方法 执行 ./configure --prefix=/opt/nginx 报错 执行 make inst ...
- linux云服务器下载安装JDK
linux云服务器下载安装JDK 下载 官网下载地址:https://www.oracle.com/java/technologies/downloads/#java8 我选择的是jdk-8u321- ...
- linux云服务器下载安装zookeeper
linux云服务器下载安装zookeeper 下载 官网下载地址:https://zookeeper.apache.org/releases.html 我选择的是apache-zookeeper-3. ...
- Linux解压下载安装命令
常用命令:tar.yum.rpm 1.tar命令 tar命令解包:tar -zxvf xxx.tar.gz(-xvf xxx.tar)tar命令压包:tar -zcvf xxx xxx.tar.gz ...
- linux 写作软件,在Linux系统中下载安装墨者写作
墨者写作是一款写作工具,支持Windows.MacOS.Linux.iPhone.Android系统,在Linux系统中下载墨者写作AppImage包即可安装使用了. 下载链接 在Linux中安装及使 ...
- Linux GO语言下载安装配置
下载安装 首先查看centos是64位还是32位,显示是64就是64位: 然后下载go-linux-64位源码包,手动wget安装,不推荐yum安装(现在最新版都1.8了,yum仓库最新版本才1.4) ...
- elasticsearch 6.x (二) linux部署 kibana x-pack 安装
大家好,我是烤鸭: 环境: linux Cent OS 7.3 elasticsearch-6.2.4 1. 下载elasticsearch https://www.elastic.co/downlo ...
- nodejs linux 32位下载安装,Linux32位怎么装nodejs?
Linux32位安装nodejs的方法步骤:1.先到官网下载node32位安装包.2.使用tar命令解压安装包.3.在profile文件中配置node环境变量.4.使用命令node -v查看是否安装成 ...
- Linux jdk配置/下载/安装简单说明
下载说明文档:判断系统是64位还是32位 我习惯使用rpm安装 1.Linux系统判断64 32位方法 [root@linuxzgf ~]#uname -m 如果有x86_64就是64位的,没有就 ...
- rocketmq linux环境下载地址,Linux下RocketMQ下载安装教程
一.下载 1.官网下载:下载地址 2.百度网盘下载:下载地址 提取码:0g5a java开发工具下载地址及安装教程大全,点这里. 更多深度技术文章,在这里. 二.安装及启动 1.将zip文件上传到li ...
最新文章
- Kinect For Windows V2开发日志九:侦测并绘制人体骨架
- pandas删除dataframe中行内容全是0的数据行(remove rows with all zeros in dataframe)
- 用结点实现链表LinkedList,用数组和结点实现栈Stack,用数组和结点链表实现队列Queue
- Jetson TX2板载相机opencv调用打开
- 英伟达自动驾驶技术:用于自动驾驶汽车的端到端深度学习
- 一个好习惯可以让自己享受一辈子
- 基于ROS的运动识别
- 基于MATLAB的PID控制器设计
- c语言程序怎样输出一个图形,C语言循环输出各种 * 组成的图形
- 2022年T电梯修理报名考试及T电梯修理最新解析
- uni-app中$navigateTo失效
- 安装arcgis的时候应用程序无法正常启动0xc000007b解决方法
- 【DL】为什么需要深度学习:模组化、端到端学习(语音识别、图像处理情景)、类比逻辑电路
- 【Python】京东自动下单抢购脚本——双十一购物小技巧
- 【计算机毕业设计】295演唱会购票系统的设计与实现
- 计算机计算性能,计算机计算能力的关键特点
- 关于iOS tableview自定义区头
- 计算机网络自顶向下做题总结一(应用层)
- html文本框中有一个叉号标志,html 输入框显示“小叉叉”的清空图标
- 单片机按键设计的四个方案