一、安装包获取方式
方式一 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文件。
- 项目上传 .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:
上传成功: