linux 下安装配置nexus

一、安装包获取方式

方式一 1、直接把下载好的安装包上传到服务器中

在这里插入图片描述

方式二 2、通过wget安装Nexus压缩包

①、可以使用以下命令进行安装Nexus的最新版本

wget https://download.sonatype.com/nexus/3/latest-unix.tar.gz

②、也可以点击官网复制想要下载的Nexus压缩包进行安装
Nexus官网地址: Neuxs官网地址
在这里插入图片描述

从官网上获取到安装地址后,使用该命令进行安装

wget https://download.sonatype.com/nexus/3/nexus-XXXXXXXX-unix.tar.gz

三、对Nexus安装包进行安装解压

1、切换到上传Nexus安装包的路径下
cd  /tmp/  #切换到tmp路径下
1.
2、把nexus安装包移动到home路径下
登录后复制 
mv  nexus-3.49.0-02-unix.tar.gz  /home/admin/    #移动到home路径下
cd  /home/admin/   #切换到home路径
ls  #查看homg路径中是否有移动过来的nexus安装包
mkdir nexus  #创建文件夹
ls  #查看homg路径中是否有创建好的文件夹
mv nexus-3.49.0-02-unix.tar.gz  nexus  #把nexus安装包移动到创建好的文件夹中
cd nexus/  #切换到刚才创建好的nexus文件夹中
ls  #查看移动过来的nexus安装包

在这里插入图片描述
3、解压nexus安装包
tar -zxvf xxxx -C yyyy 将xxxx 解压至yyy目录下

tar -zxvf nexus-3.49.0-02-unix.tar.gz  #解压
ls  #查看是否有截图中的两个文件

在这里插入图片描述

四、启动Nexus

1、查看并修改端口号

cd nexus-3.49.0-02  #切换到nexus-3.49.0-02路径下
ls  # 查看
cd etc/  #切换到etc路径下
ls  #查看
vi nexus-default.properties  #编辑nexus-default.properties文件

在这里插入图片描述

默认的端口号为8081,这里我修改为了8089,端口号可以根据需要进行修改

在这里插入图片描述

2、配置环境变量

4. 赋予nexus文件夹权限,方便启动和操作:
bash
sudo chown -R 200:200 /opt/nexus-3.23.0-01 
5. 配置环境变量,编辑/etc/profile文件,在末尾添加:
bash 
export NEXUS_HOME=/opt/nexus-3.23.0-01
export PATH=$PATH:$NEXUS_HOME/bin 
使环境变量生效:
bash
source /etc/profile

3、开放端口

非root权限用户执行防火墙相关命令时,需要在命令前加上sudo,提升权限并根据提示输入密码

sudo firewall-cmd --query-port=8089/tcp  #查询8089端口是否开启sudo firewall-cmd --add-port=8089/tcp --permanent  #添加指定需要开放的端口sudo firewall-cmd --reload  #重启防火墙

在这里插入图片描述
Nexus默认端口为8081,可以在/opt/nexus-3.23.0-01/etc/nexus.properties文件中配置。启动后即可访问http://yourserver:8081访问Nexus界面。
登录Nexus,默认账号密码为admin/admin123。Login成功后会让你选择一个新的强密码。

3、启动Nexus

启动方式一

在 /home/thp/public/nexus/nexus-3.25.1-04/bin 目录下,执行脚本命令,以后台进程的形式(不占用当前命令终端窗口),启动 Nexus 服务:
启动需要等待一段时间,可用浏览器访问 linux 服务器ip:8081 来验证服务是否启动好。

cd ..  #切换到上一级
ls  #查看
cd bin/  #切换到bin路径下
ls  #查看
./nexus start  #启动nexus
ps aux | grep nexus  #查看nexus是否启动

在这里插入图片描述

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

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

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

在这里插入图片描述
总结:
为了不占用当前命令终端窗口,推荐使用 2.1 start命令启动(后台进程形式)Nexus 服务。

“/root/.m2/repository"目录通常是指Unix/Linux系统上的本地Maven仓库。Maven是一种流行的构建自动化工具,主要用于Java项目。本地仓库是在构建过程中从远程仓库下载的所有依赖和构件的缓存。
在Maven中,当您在项目的POM(Project Object Model)文件中指定项目依赖关系时,Maven会自动从远程仓库下载这些依赖项并将它们存储在本地仓库中。这有助于加快后续构建的速度,避免了重复下载相同的依赖项。
默认情况下,本地Maven仓库的位置通常位于Unix/Linux系统上的”~/.m2/repository"目录下。“/root"目录是root用户的主目录,因此”/root/.m2/repository"指的是该系统上特定于root用户的本地Maven仓库。

五 验证服务

验证方式有很多种:

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

在这里插入图片描述
方式二 ps 命令

 ps -ef|grep nexus

在这里插入图片描述


六、初始化并访问服务

1.修改初始密码

1、打开Nexus页面后,登录时会出现以下提示,根据路径提示可以找到初始密码

在这里插入图片描述
2、输入以下命令进行查找

cd /home/admin/Nexus/sonatype-work/nexus3/cat admin.password

在这里插入图片描述
点击 Next 后,配置匿名访问:
在这里插入图片描述

2.使用 并创建仓库

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击后能看见详情,url 就是新仓库的ip地址:

在这里插入图片描述

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

    依次点击 Repository 仓库管理图标(齿轮)、 Roles、Create role、Nexus role:![在这里插入图片描述](https://img-blog.csdnimg.cn/263d150c95bc45b49ccd7944dec74855.png)

在这里插入图片描述
检索 自定义仓库的库名,赋予权限 nx-repository-view-maven2-自定义库名-*:

注意:

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

在这里插入图片描述

点解 Create role 创建角色:
在这里插入图片描述
创建成功:
在这里插入图片描述

4.创建用户

在这里插入图片描述
验证用户:
点击右上角 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>cell</id> <username>cell</username> <password>xxxx</password> 
</server> 

在这里插入图片描述
保存并关闭settings.xml文件。

  1. 项目上传 .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:
在这里插入图片描述

     上传成功: 

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/118627.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

读word模板批量生成制式文件

文章目录 1、Maven依赖2、.docx或.doc格式的word模板准备3、读word模板&#xff0c;批量替换代码域&#xff0c;生成文件&#xff0c;demo4、结果展示 1、Maven依赖 <dependency><groupId>fr.opensagres.xdocreport</groupId><artifactId>fr.opensagre…

qt creater11 翻译国际化教程教程:

先出效果图。 闲聊几句&#xff1a;qt这个翻译很方便&#xff0c;能直接导出项目里所有文字。 具体步骤如下&#xff1a; 在Qt中&#xff0c;我们可以使用QTranslator类来实现多语言切换。以下是一般步骤&#xff1a; 1. 在你的源代码中&#xff0c;所有需要翻译的字符串都…

OpenGL-入门-BMP像素图glReadPixels(1)实现读取屏幕中间的颜色和获取屏幕上鼠标点击位置的颜色

glReadPixels函数用于从帧缓冲区中读取像素数据。它可以用来获取屏幕上特定位置的像素颜色值或者获取一块区域内的像素数据。下面是该函数的基本语法&#xff1a; void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *da…

Go实现LogCollect:海量日志收集系统【下篇——开发LogTransfer】

Go实现LogAgent&#xff1a;海量日志收集系统【下篇】 0 前置文章 Go实现LogAgent&#xff1a;海量日志收集系统【上篇——LogAgent实现】 前面的章节我们已经完成了日志收集&#xff08;LogAgent&#xff09;&#xff0c;接下来我们需要将日志写入到kafka中&#xff0c;然后…

【SpringSecurity】十二、集成JWT搭配Redis实现退出登录

文章目录 1、登出的实现思路2、集成Redis3、认证成功处理器4、退出成功处理器5、修改token校验过滤器6、调试 1、登出的实现思路 这是目前的token实现图&#xff1a; 因为JWT的无状态&#xff0c;服务端无法在使用过程中主动废止某个 token&#xff0c;或者更改 token 的权限…

【算法刷题-双指针篇】

目录 1.leetcode-27. 移除元素2.leetcode-344. 反转字符串3.leetcode-剑指 Offer 05. 替换空格4.leetcode-206. 反转链表5.leetcode-19. 删除链表的倒数第 N 个结点6.leetcode-面试题 02.07. 链表相交7.leetcode-142. 环形链表 II8.leetcode-15. 三数之和9.leetcode-18. 四数之…

python unitest自动化框架

以下举一个最简单的unitest实例&#xff0c;包含备注&#xff0c;自己拉取代码运行一次就知道原理了 import unittest import osclass TestSample(unittest.TestCase):classmethoddef setUpClass(cls) -> None:print(整个测试类只执行一次)def setUp(self) -> None:prin…

【python零基础入门学习】python基础篇之判断与for循环(二)

本站以分享各种运维经验和运维所需要的技能为主 《python》&#xff1a;python零基础入门学习 《shell》&#xff1a;shell学习 《terraform》持续更新中&#xff1a;terraform_Aws学习零基础入门到最佳实战 《k8》暂未更新 《docker学习》暂未更新 《ceph学习》ceph日常问题解…

flutter plugins插件【二】【FlutterAssetsGenerator】

2、FlutterAssetsGenerator 介绍地址&#xff1a;https://juejin.cn/post/6898542896274735117 配置assets目录 ​ 插件会从pubspec.yaml文件下读取assets目录&#xff0c;因此要使用本插件&#xff0c;你需要在pubspec.yaml下配置资源目录 flutter:# The following line ens…

Navicat连接数据库报2003错误解决办法

是防火墙还没有开启 查看防火墙管理的端口 设置3306防火墙开启&#xff0c;重载防火墙 连接成功

2024年java面试--多线程(2)

系列文章目录 2024年java面试&#xff08;一&#xff09;–spring篇2024年java面试&#xff08;二&#xff09;–spring篇2024年java面试&#xff08;三&#xff09;–spring篇2024年java面试&#xff08;四&#xff09;–spring篇2024年java面试–集合篇2024年java面试–redi…

CSS中如何实现弹性盒子布局(Flexbox)的换行和排序功能?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 换行&#xff08;Flexbox Wrapping&#xff09;⭐ 示例&#xff1a;实现换行⭐ 排序&#xff08;Flexbox Ordering&#xff09;⭐ 示例&#xff1a;实现排序⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得…

【uniapp 配置启动页面隐私弹窗】

为什么需要配置 原因 根据工业和信息化部关于开展APP侵害用户权益专项整治要求&#xff0c;App提交到应用市场必须满足以下条件&#xff1a; 1.应用启动运行时需弹出隐私政策协议&#xff0c;说明应用采集用户数据 2.应用不能强制要求用户授予权限&#xff0c;即不能“不给权…

iPhone 14 Plus与iPhone 14 Pro:你应该买哪一款

又到了iPhone季,这意味着你可能会在几种不同的机型之间左右为难,无法决定买哪一款。更令人困惑的是,苹果推出的iPhone变体——iPhone 14 Plus,只比老款iPhone 14 Pro低100美元。 有这么多选择,你可能想知道哪款iPhone最适合你。你应该买一部大屏幕的iPhone 14 Plus并节省…

C语言每日一练--------Day(11)

本专栏为c语言练习专栏&#xff0c;适合刚刚学完c语言的初学者。本专栏每天会不定时更新&#xff0c;通过每天练习&#xff0c;进一步对c语言的重难点知识进行更深入的学习。 今日练习题关键字&#xff1a;找到数组中消失的数字 哈希表 &#x1f493;博主csdn个人主页&#xff…

leetcode原题: 最小值、最大数字

题目1&#xff1a;最小值 给定两个整数数组a和b&#xff0c;计算具有最小差绝对值的一对数值&#xff08;每个数组中取一个值&#xff09;&#xff0c;并返回该对数值的差 示例&#xff1a; 输入&#xff1a;{1, 3, 15, 11, 2}, {23, 127, 235, 19, 8} 输出&#xff1a;3&…

网络编程 http 相关基础概念

文章目录 表单是什么http请求是什么http请求的结构和说明关于http方法 GET和POST区别http常见状态码http响应http 请求是无状态的含义html是什么 &#xff08;前端内容&#xff0c;了解即可&#xff09;html 常见标签 &#xff08;前端内容&#xff0c;了解即可&#xff09;关于…

项目总结知识点记录-文件上传下载(三)

&#xff08;1&#xff09;文件上传 代码&#xff1a; RequestMapping(value "doUpload", method RequestMethod.POST)public String doUpload(ModelAttribute BookHelper bookHelper, Model model, HttpSession session) throws IllegalStateException, IOExcepti…

XSS的分析

目录 1、XSS的原理 2、XSS的攻击类型 2.1 反射型XSS 2.2 存储型XSS 2.3 DOM-based 型 2.4 基于字符集的 XSS 2.5 基于 Flash 的跨站 XSS 2.6 未经验证的跳转 XSS 3、复现 3.1 反射性 3.2 DOM-based型 1、XSS的原理 XSS的原理是恶意攻击者往 Web 页面里插入恶意可执行…

Android中级——消息机制

消息机制 概念ThreadLocalMessageQueueLooperHandlerrunOnUiThread() 概念 MessageQueue&#xff1a;采用单链表的方法存储消息列表Looper&#xff1a;查询MessageQueue是否有新消息&#xff0c;有则处理&#xff0c;无则等待ThreadLocal&#xff1a;用于Handler获取当前线程的…