1,Nexus 介绍

Nexus是什么

Nexus 是一个强大的maven仓库管理器,它极大地简化了本地内部仓库的维护和外部仓库的访问。

不仅如此,他还可以用来创建yum、pypi、npm、docker、nuget、rubygems 等各种私有仓库。

所支持的类型,可从下图管窥:

如果使用了公共的 Maven 仓库服务器,可以从 Maven 中央仓库下载所需要的构件(Artifact),但这通常不是一个好的做法。

正常做法是在本地架设一个 Maven 仓库服务器,即利用 Nexus 私服可以只在一个地方就能够完全控制访问和部署在你所维护仓库中的每个 Artifact。

Nexus 在代理远程仓库的同时维护本地仓库,以降低中央仓库的负荷, 节省外网带宽和时间,Nexus 私服就可以满足这样的需要。

Nexus 是一套 “开箱即用” 的系统不需要数据库,它使用文件系统加 Lucene 来组织数据。

Nexus 使用 ExtJS 来开发界面,利用 Restlet 来提供完整的 REST APIs,通过 m2eclipse 与 Eclipse 集成使用。

Nexus 支持 WebDAV 与 LDAP 安全身份认证。

Nexus 还提供了强大的仓库管理功能,构件搜索功能,它基于 REST,友好的 UI 是一个 extjs 的 REST 客户端,它占用较少的内存,基于简单文件系统而非数据库。

为什么要构建 Nexus 私服

如果没有 Nexus 私服,我们所需的所有构件都需要通过 maven 的中央仓库和第三方的 Maven 仓库下载到本地,而一个团队中的所有人都重复的从 maven 仓库下载构件无疑加大了仓库的负载和浪费了外网带宽,如果网速慢的话,还会影响项目的进程。很多情况下项目的开发都是在内网进行的,连接不到 maven 仓库怎么办呢?开发的公共构件怎么让其它项目使用?这个时候我们不得不为自己的团队搭建属于自己的 maven 私服,这样既节省了网络带宽也会加速项目搭建的进程,当然前提条件就是你的私服中拥有项目所需的所有构件。

总之,在本地构建 nexus私服的好处有:

1)加速构建;

2)节省带宽;

3)节省中央 maven 仓库的带宽;

4)稳定(应付一旦中央服务器出问题的情况);

5)控制和审计;

6)能够部署第三方构件;

7)可以建立本地内部仓库;

8)可以建立公共仓库

这些优点使得 Nexus 日趋成为最流行的 Maven 仓库管理器。

2,版本选择及下载

关于版本选择

以前公司使用的版本一直是用的一个2.x的版本,旧的版本各种陈旧,在这种陈旧的情况下,许多地方已经破破烂烂了,比如最重要的功能之一,自动同步远程仓库的依赖,就已经无法使用,看到版本已经更新到3.x,因此就想着搭一个高版本的来体验一下。

关于下载

官网地址:https://www.sonatype.com/

下载地址:https://download.sonatype.com/nexus/3/latest-unix.tar.gz (下载需要FQ)

接下来开始整个安装的流程介绍,我们先来介绍普通方式的安装。

3,安装jdk-1.8

nexus的安装依赖jdk环境。最好安装1.8版本的,否则可能会遇到其他不可知问题。

安装步骤可以参考:https://www.cnblogs.com/sanduzxcvbnm/p/12522735.html

4,部署nexus

1,解压。

tar -zxv -f nexus-3.24.0-02-unix.tar.gz -C /usr/local/

下载到指定目录并解压,我们可以看到解压后有通常两个文件。

nexus-3.24.0-02 Nexus运行所需要的文件,如运行脚本,依赖jar包等
sonatype-work 该目录包含Nexus生成的配置文件、日志文件、仓库文件等

2,启动。

cd /usr/local/nexus-3.24.0-02
./bin/nexus run &

大概等待一分钟左右,如果在日志输出当中看到如下显示,则说明启动成功。

-------------------------------------------------

Started Sonatype Nexus OSS 3.24.0-02

-------------------------------------------------

3,访问。

默认监听端口为8081,默认用户名为admin,密码需要查看:/usr/local/sonatype-work/nexus3/admin.password,因此可以访问以下首页并登陆。

http://192.168.75.11:8081

这里直接访问了,一般内部使用,就不开启防火墙神马的了。

首次登陆后修改密码:

5,配置存储及日志位置。

cd /usr/local/nexus-3.24.0-02/bin
cat nexus.vmoptions -Xms2703m
-Xmx2703m
-XX:MaxDirectMemorySize=2703m
-XX:+UnlockDiagnosticVMOptions
-XX:+LogVMOutput
-XX:LogFile=../sonatype-work/nexus3/log/jvm.log
-XX:-OmitStackTraceInFastThrow
-Djava.net.preferIPv4Stack=true
-Dkaraf.home=.
-Dkaraf.base=.
-Dkaraf.etc=etc/karaf
-Djava.util.logging.config.file=etc/karaf/java.util.logging.properties
-Dkaraf.data=../sonatype-work/nexus3
-Dkaraf.log=../sonatype-work/nexus3/log
-Djava.io.tmpdir=../sonatype-work/nexus3/tmp
-Dkaraf.startLocalConsole=false
#
# additional vmoptions needed for Java9+
#
# --add-reads=java.xml=java.logging
# --add-exports=java.base/org.apache.karaf.specs.locator=java.xml,ALL-UNNAMED
# --patch-module=java.base=lib/endorsed/org.apache.karaf.specs.locator-4.2.6.jar
# --patch-module=java.xml=lib/endorsed/org.apache.karaf.specs.java.xml-4.2.6.jar
# --add-opens=java.base/java.security=ALL-UNNAMED
# --add-opens=java.base/java.net=ALL-UNNAMED
# --add-opens=java.base/java.lang=ALL-UNNAMED
# --add-opens=java.base/java.util=ALL-UNNAMED
# --add-opens=java.naming/javax.naming.spi=ALL-UNNAMED
# --add-opens=java.rmi/sun.rmi.transport.tcp=ALL-UNNAMED
# --add-exports=java.base/sun.net.www.protocol.http=ALL-UNNAMED
# --add-exports=java.base/sun.net.www.protocol.https=ALL-UNNAMED
# --add-exports=java.base/sun.net.www.protocol.jar=ALL-UNNAMED
# --add-exports=jdk.xml.dom/org.w3c.dom.html=ALL-UNNAMED
# --add-exports=jdk.naming.rmi/com.sun.jndi.url.rmi=ALL-UNNAMED
#
# comment out this vmoption when using Java9+
#
-Djava.endorsed.dirs=lib/endorsed
# 一般都不做修改,使用默认即可,这里列出是为了了解这个点。
-XX:LogFile=../sonatype-work/nexus3/log/jvm.log
-Dkaraf.data=../sonatype-work/nexus3
-Djava.io.tmpdir=../sonatype-work/nexus3/tmp

配置完毕之后,重启一下服务。

6,启动之后,解决一个小问题



注意左上角会有一个告警,这个告警的意思是系统默认的最大文件句柄太小了。

linux 系统修改打开文件数限制:

vim /etc/security/limits.conf

nexus - nofile 65536

然后再次重启服务即可。

先杀死进程,然后再启动:/usr/local/nexus-3.24.0-02/bin/nexus run &

6,docker方式安装

最后介绍一些使用docker的方式如何安装。

如果想使用docker来启动,那么可以参考:官方镜像介绍

或用下边方式直接启动。

mkdir /opt/nexus-data
docker run -d -p 8081:8081 --name nexus -v --ulimit nofile=65536:65536 /opt/nexus-data:/nexus-data sonatype/nexus3

1.nexus的安装的更多相关文章

  1. Maven 私有库 Nexus的安装

    1.下载 Nexus下载地址:http://www.sonatype.org/nexus/go/ # wget https://sonatype-download.global.ssl.fastly. ...

  2. maven 本地仓库nexus的安装

    首先我们将nexus下载下来:http://www.sonatype.org/downloads/nexus-latest-bundle.zip 下载下来之后我们将文件解压,解压完成之后,我们首先,打 ...

  3. <一>企业级开源仓库nexus实战应用–nexus的安装

    1,Nexus 介绍. Nexus是什么? Nexus 是一个强大的maven仓库管理器,它极大地简化了本地内部仓库的维护和外部仓库的访问. 不仅如此,他还可以用来创建yum.pypi.npm.doc ...

  4. Nexus centos 安装

    目录 1.安装nexus 2.启动nexus 2.1启动服务器 2.2以后台进程启动: 2.3web访问 3.搭建私服 3.1 界面元素介绍 3.2 仓库集合的界面 3.3 通过网页方式将jar包上传 ...

  5. nexus离线安装索引及一些问题

    安装私服~~~ 整体流程: 服务器安装私服 配置私服(主要是安装索引) 本地maven配置指向私服 安装私服 win & linux 网上教程很多,不在阐述: 配置私服(及安装index) 1 ...

  6. Maven仓库Nexus的安装配置

    1.下载nexus,最新版本是nexus-2.8.0-05   参考文章 下载nexus-latest-bundle.zip文件后,并解压到  D:\nexus下 配置nexus的环境变量:先配置NE ...

  7. 【Maven实战】仓库介绍和Nexus的安装

    在Maven中我们之前进行配置一个项目的依赖时,引用一下jar包,这些jar包第一次都会从一个地方进行下载,这个地方称为仓库,而对于仓库一般有本地仓库和中心仓库之分,但是我们一般在做项目时会在自己的服 ...

  8. nexus的安装和简介

    下载nexus Nexus 是Maven仓库管理器,通过nexus可以搭建maven仓库,同时nexus还提供强大的仓库管理功能,构件搜索功能等. 下载Nexus, 下载地址:http://www.s ...

  9. 【运维技术】Nexus私服安装配置常用问题

    maven私服安装配置 软件安装及基本配置 安装配置 # 安装jdk,参考其他教程 mkdir -p /app/nexus2 # 创建目录 wget https://download.sonatype ...

随机推荐

  1. 什么新东西值得学「GitHub 热点速览 v.22.29」

    上周 18k+ 的项目 bun 这周又获得 7k+ star,是时候了解下它背后的编程语言 zig 了,它并不是一门新的语言,伴随着 bun 的风靡,zig 本周也上了 GitHub 热榜.同样,可以 ...

  2. 在.NET 6.0中配置WebHostBuilder

    大家好,我是张飞洪,感谢您的阅读,我会不定期和你分享学习心得,希望我的文章能成为你成长路上的垫脚石,让我们一起精进. 在阅读第4章"使用Kestrel配置和定制HTTPS"时,您可 ...

  3. DTS搭载全新自研内核,突破两地三中心架构的关键技术|腾讯云数据库

    随着企业规模的扩大,对数据库可用性要求越来越高,更多企业采用两地三中心.异地多活的架构,以提高数据库的异常事件应对能力. 在数据库领域,我们常听的"两地三中心"."异地多 ...

  4. maven项目(引入依赖失败, pom.xml 报错\爆红)

    引入项目过程中,idea引入磁盘的某个的maven项目 这里以springboot项目以例子,发现pom.xml 的依赖大面积爆红,springboot的版本依赖也报错了,然后发现下面有进度条在下载, ...

  5. 清北学堂 2020 国庆J2考前综合强化 Day5

    目录 1. 题目 T1 a 题目描述 Sol T2 b 题目描述 Sol T3 c 题目描述 Sol T4 d 题目描述 Sol 2. 算法 - 贪心 & 数学 1. 贪心 2. 数学 2.1 ...

  6. 开发 supermall 的一些

    0.新建项目 1.关联仓库:新建的远程仓库 怎么和已有代码联系起来 a.拉仓库 复制代码进去 b.在已有代码里面配置git: git remote add origin '地址' 然后 git pus ...

  7. 5.27 NOI 模拟

    \(T1\)约定 比较水的\(dp\)题 上午想到了用区间\(dp\)求解,复杂度\(O(n^5),\)貌似没开\(long\ long\)就爆掉了 正解还是比较好想的,直接枚举从何时互不影响然后转移 ...

  8. MGR的gtid_executed不连续的问题分析

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 1.问题描述 在做MGR测试的时候偶尔遇到gtid_executed事务ID不连续的问题,但是并不影响数据库的正常运行.现 ...

  9. C# 使用SIMD向量类型加速浮点数组求和运算(1):使用Vector4、Vector<T>

    作者: 目录 一.缘由 二.使用向量类型 2.1 基本算法 2.2 使用大小固定的向量(如 Vector4) 2.2.1 介绍 2.2.2 用Vector4编写浮点数组求和函数 2.3 使用大小与硬件 ...

  10. San(COCI2017.2)题解

    题意 一个人为了楼顶的金币要去跳楼,但是不能往更矮的楼上跳. 求在一个长为N的序列中总点权值和大于等于K的不下降序列数. N<=40,K<=4e10 官方题解 折半搜索的经典例子!N在20 ...