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. Eolink家族成员回归 — 开源服务Eoapi!

    Eolink 开源产品又回来了!Eoapi 自 2016 年上架 Github 以来,一直备受国内外开发者的欢迎和好评 ,在2018年 Eolink 为了进一步升级该产品而进行了暂时下架.时隔四年,E ...

  2. 互联网界的IT巨变:从DOS的编辑器,到如今的无代码开发

    众所周知,Borland Pascal.Turbo Pascal.Turbo C等这类开发工具,都习惯自带IDE. 因此,我产生了一个大胆的想法. DOS时代下的Turbo C 如果说Anders这类 ...

  3. linux 学习 mysql安装到连接

    在Centos7.6 上安装mysql ps:一般mysql安装后会在/var/log/下面生成一个mysqld.log文件,如果遇到启动不了或者其他问题,基本都可以在这个log文件里面找到错误原因 ...

  4. ACM模式细节

    牛客网的ACM模式需要自己写输入输出,在这里简单记录一下: 基本答题框架: import java.util.*; public class Main{ public static void main ...

  5. vue.js及H5常见跨域问题解决方案

    一.原生H5跨域问题解决方案 1.live-server 代理解决 首先在有node.js环境下,打开命令行工具,输入 npm install live-server -g 全局安装全局安装 live ...

  6. 教程 - 深度探讨在 Vue3 中引入 CesiumJS 的最佳方式

    目录 1. 你应该先知道的基础知识 1.1. CesiumJS 的库构成 1.2. 选择 Vite3 和 pnpm 的理由 1.3. 使用 External 模式引入静态库 - 不打包静态库 1.4. ...

  7. 学军中学第三届“图灵杯”趣味网络邀请赛——中级T4.欧拉回路 (图论,哈希)

    题面 补题链接 7 5 6 7 1 2 3 3 13 5 30 50 10 30 70 8 题解 存在欧拉回路的条件是:1. 每个点的度数都是偶数.2. 有边的连通块最多一个. 数据范围是允许我们 n ...

  8. 【Manim】关于add_updater的基本使用方法

    add_updater(update_function,index=None,call_update=False) 后面两个参数可以不写. update_function更新函数一般填入一个lambd ...

  9. Spring5事务管理

    事务管理是什么? 相当于过滤器,如果这一进程中上一个操作正常执行完后提交数据已经发生改变,但是下一个操作中出现了异常,这样就会影响数据的查看. 典型例子:银行转账,甲方已经转钱给乙方(甲方已扣钱),乙 ...

  10. django_day03

    django_day03 Django的view(视图) CBV和FBV FBV:function based view 基于函数的视图 CBV:class based view 基于类的视图 fro ...