Nexus 是一款流行的仓库管理系统,主要用于存放和分享 Maven、Docker 和 NuGet 等包。在软件开发中,使用 Nexus 可以帮助团队更好地管理和发布项目依赖。本文将从 Nexus 的概述、安装和部署、配置和备份恢复等方面详细讲解 Nexus 的部署过程。

一、Nexus 的概述

Nexus 是一款专门用于存储和分享构建依赖、Docker 镜像和 NuGet 包等的仓库管理系统。Nexus 提供了可靠的、灵活的、易于使用的仓库管理功能,可以有效地降低应用程序开发、测试和发布的成本和风险。Nexus 的特点包括:

  • 多种仓库协议:Nexus 支持多种仓库协议,如 Maven、Gradle、Ivy、SBT、npm、Bower、RubyGems、PyPI、Docker 和 NuGet 等。
  • 分布式部署支持:Nexus 可以实现分布式部署,将仓库数据分散存储到多个节点上,实现负载均衡和高可用性。
  • 安全认证:Nexus 支持 LDAP、Active Directory、OAuth 等多种身份验证和授权机制,保障仓库的安全性。
  • 应用场景广泛:Nexus 不仅可以用于 Java 应用,也可以用于其他语言和工具的构建、发布和管理。

二、Nexus 的安装和部署

Nexus 的安装和部署过程需要注意以下几个方面:

1. 硬件和软件要求

在部署 Nexus 时,需要注意硬件和软件的要求。通常情况下,建议使用 Linux 操作系统进行部署。此外,需要保证操作系统具有足够的内存和磁盘空间,以保障 Nexus 的运行。

2. 下载和解压 Nexus

官网下载地址 https://www.sonatype.com/products/sonatype-nexus-oss-download

如果慢的话可以用百度网盘下载;

链接:https://pan.baidu.com/s/1zK3qnO47gfgn9MFxbrUrBA
提取码:6fiq

下载好后,解压到指定目录。例如,可以使用以下命令解压 Nexus:

$ tar -xvf nexus-3.54.1-01-unix.tar.gz -C /opt/

解压后,将会在 /opt 目录下生成一个名为 nexus-3.54.1-01 的目录。

3. 设置 Nexus 的运行用户

为了保证 Nexus 运行的安全性,需要创建专门的用户来运行 Nexus。可以使用如下命令创建用户:

$ sudo useradd -r nexus

然后,将解压后的 Nexus 目录的所有者设置为 nexus 用户,以及指定组和权限:

$ sudo chown -R nexus:nexus /opt/nexus-3.54.1-01
$ sudo chmod -R 755 /opt/nexus-3.54.1-01

4. 启动 Nexus

启动 Nexus 可以使用如下命令:

$ sudo su - nexus      # 切换到 nexus 用户
$ cd /opt/nexus-3.54.1-01/bin
$ ./nexus run        # 启动 Nexus

启动后,可以使用浏览器访问 Nexus Web 界面:http://localhost:8081/nexus/

三、Nexus 的配置

Nexus 的配置主要包括仓库管理、用户认证、SSL 证书和代理设置等方面。

1. 仓库管理

仓库管理是 Nexus 最重要的功能之一,它允许用户进行仓库的添加、删除、修改和查询等操作。在 Nexus 中,可以创建多个分组、代理和主机仓库,并通过仓库组来组织和管理这些仓库。例如,可以使用以下命令创建一个 Maven 仓库:

$ sudo su - nexus     # 切换到 nexus 用户
$ cd /opt/nexus-3.54.1-01/bin
$ ./nexus create_repository maven2 hosted test-maven2-hosted

其中,maven2 表示仓库类型,hosted 表示该仓库为主机仓库,test-maven2-hosted 表示仓库的名称。

2. 用户认证

Nexus 支持多种身份验证和授权机制,如 LDAP、Active Directory、OAuth 等。用户可以通过创建用户和角色,来实现对仓库的访问和控制。例如,可以使用以下命令创建一个新用户:

$ ./nexus create_user admin testpassword

可以使用以下命令为用户添加角色:

$ ./nexus add_user_role admin nx-admin

其中,admin 是用户名,testpassword 是密码,nx-admin 是角色名称。

3. SSL 证书

Nexus 支持 HTTPS 协议和 SSL 加密传输,在使用 HTTPS 协议时,需要配置 SSL 证书。通常情况下,可以使用自签名证书来验证 Nexus 的身份。例如,可以使用如下命令生成自签名证书:

$ sudo keytool -genkey -alias nexus -keyalg RSA -keystore keystore.jks -keysize 2048

然后,可以将生成的 keystore.jks 文件复制到 Nexus 的 etc 目录下,并修改 Nexus 的配置文件 conf/nexus.properties,添加以下配置:

nexus.ssl.keystore=/opt/nexus-3.54.1-01/etc/keystore.jks
nexus.ssl.keystore.password=password
nexus.ssl.truststore=/opt/nexus-3.54.1-01/etc/keystore.jks
nexus.ssl.truststore.password=password

其中,nexus.ssl.keystore 和 nexus.ssl.truststore 分别指定了 SSL 证书和信任证书库的位置和密码。

4. 代理设置

在使用 Nexus 进行包管理时,可能会遇到访问外部存储库速度较慢的问题,此时可以配置代理来加速下载。Nexus 支持多种代理设置,例如 HTTP 代理、SSL 代理和 SOCKS 代理等。可以通过修改 Nexus 的配置文件 conf/nexus.properties,添加以下配置来实现代理设置:

# 设置 HTTP 代理
http.proxyHost=proxy.example.com
http.proxyPort=8080# 设置 SSL 代理
https.proxyHost=proxy.example.com
https.proxyPort=8080# 设置 SOCKS 代理
socks.proxyHost=proxy.example.com
socks.proxyPort=1080

其中,proxy.example.com 和相应的端口号需要根据实际情况进行修改。

四、Nexus 的备份和恢复

为了保障 Nexus 的数据安全,需要定期对 Nexus 进行备份。Nexus 的备份通常包括两个方面:文件备份和数据备份。

1. 文件备份

Nexus 的文件备份可以通过将 Nexus 所在目录整体备份来完成。例如,可以使用 tar 命令备份 Nexus 的整个目录:

$ sudo tar -czvf nexus-backup-20230522.tar.gz /opt/nexus-3.54.1-01

这样,可以将 Nexus 的整个目录打包成一个名为 nexus-backup-20230522.tar.gz 的压缩文件,并备份到指定位置。

2. 数据备份

Nexus 的数据备份可以通过导出和导入仓库数据来完成。可以使用如下命令导出 Maven 仓库数据:

$ sudo su - nexus    # 切换到 nexus 用户
$ cd /opt/nexus-3.54.1-01/bin
$ ./nexus export maven2 hosted test-maven2-hosted /tmp/maven2-backup.zip

其中,maven2 表示要导出的仓库类型,hosted 表示要导出的仓库类型为主机仓库,test-maven2-hosted 表示要导出的仓库名称,/tmp/maven2-backup.zip 是导出文件的路径和名称。

导出完成后,可以将导出文件进行备份。需要恢复时,可以使用如下命令导入仓库数据:

$ sudo su - nexus    # 切换到 nexus 用户
$ cd /opt/nexus-3.54.1-01/bin
$ ./nexus import maven2 /tmp/maven2-backup.zip

其中,maven2 表示将导入的仓库类型,/tmp/maven2-backup.zip 是导出文件的路径和名称。

注意,在进行数据备份和恢复时,需要暂停 Nexus 的服务,以免数据不一致或丢失。

Nexus 安装和部署相关推荐

  1. nexus 安装_Jenkins Pipelines将制品发布到Nexus存储库

    在本指南中,我们将使用Jenkins作为持续集成服务器,并使用Nexus Repository 作为构建存储库. 本指南的目的是创建一个工作流,我们可以在该工作流中通过Maven和CI服务器来构建,存 ...

  2. Nexus 安装 使用说明

    1 . 私服简介 私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件.有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库:否则,私服请求外部 ...

  3. 制品仓库 Nexus 安装、配置、备份、使用

    目录 1.1 Nexus 优点 1.2 Nexus 仓库类型 2. 安装 Nexus 2.1 设置持久化目录 2.2 拉取 Nexus docker 镜像 2.3 运行并启动 Nexus 3. 系统配 ...

  4. Nexus安装和使用

    1.前言 最近项目需要搭建maven私服,方便管理后期团队成员使用上传自己的包,因此决定使用nexus来搭建私服,搭建好的nexus地址. 2.准备工作 阿里云服务器ECS一台 1核CPU 2G内存( ...

  5. nexus安装与使用

    一.Nexus介绍 Nexus是Maven仓库管理器,也可以叫Maven的私服.Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问.利用Nexus你可以只在一 ...

  6. Qt最新版5.14在Windows环境静态编译安装和部署的完整过程 VS 2019-Qt static link build Windows 32 bit/64 bit

    文章目录 为什么要静态编译(static link) 1.源码下载/source code download 2. 编译工具下载/compiler download 编译环境选择:MinGW/MSVC ...

  7. Qt最新版5.13在Windows环境静态编译安装和部署的完整过程(VS 2017/VS 2019)

    文章目录 为什么要静态编译 1.源码下载 2. 编译工具下载 ActivePerl Python Ruby 编译环境选择 3.编译 1.修改源码里的qtbase\mkspecs\common\msvc ...

  8. Qt最新版5.12在Windows环境静态编译安装和部署的完整过程(VS2017)

    文章目录 为什么要静态编译 1.源码下载 2. 编译工具下载 ActivePerl Python Ruby 编译环境选择 3.编译 1.修改源码里的qtbase\mkspecs\common\msvc ...

  9. Ansible的安装及部署

    Ansible的安装及部署 1 实验环境 2 Ansible的安装 3 Ansible的基本信息 4 构建Ansible清单 4.1 全局清单 4.2 设定受控主机的组 4.2.1 清单查看 4.2. ...

最新文章

  1. HTML5之Canvas基础
  2. android 云应用开发,Android云应用开发:网络通信技术介绍
  3. hibernate 出现Could not parse mapping document from resource 报错
  4. Python学习17 Turtle库绘图
  5. 如何在手机上使用TensorFlow
  6. 数据库零碎---常用的mysql命令,收藏了,方便查阅
  7. 简述python3默认使用的编码标准_Python3.X默认使用的编码是
  8. 极简算法 —— 判断两字符串是否为相同字母的不同顺序组成
  9. Java 的强引用、弱引用、软引用、虚引用
  10. ES6读书笔记(一)
  11. 软件工程4-软件概要设计
  12. Linux配置VNC远程桌面
  13. P1834 种花小游戏
  14. 设计模式之工厂模式——应用最广泛的模式
  15. 使用Python+多线程下载M3U8格式视频(小白)
  16. 关于某课堂的视频文件ts文件下载——m3u8加密问题
  17. 有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中——C语言
  18. anyRTC,一站式低延迟直播连麦解决方案
  19. php账号管理工具,微信公共账号第三方管理工具开发(一)
  20. 【实例】PHP如何实现汉字转为拼音的?

热门文章

  1. 日本金融巨头SBI的加密货币子公司支持移动钱包BRD
  2. RabbitMQ与CMQ的使用与实战
  3. Git 的 Fast Forward 和 no fast foward
  4. PNG文件解读(2):PNG格式文件结构与数据结构解读—解码PNG数据
  5. 阿里云重磅发布云拨测产品:深度挖掘数据,精准定位 IT 问题
  6. 金耳朵测试android6,情怀满分,使用能有几分呢? NOKIA6第二代开箱测评
  7. python菜鸟教程 | 乘法口诀
  8. 调用 SSPI 失败,请参见内部异常 解决方法
  9. C语言中整数除法结果转化为浮点数
  10. HPC高性能计算可以提升算力的速度,猿代码为此行业不断培养人才