nexus学习 一、nexus介绍及手动安装

news/2024/7/5 5:39:09

一、Neuxs介绍

Nexus是一个强大的Maven仓库管理器,它极大的简化了本地内部仓库的维护和外部仓库的访问。
Nexus是一个强大的Maven仓库管理器,它极大的简化了本地内部仓库的维护和外部仓库的访问。
​ 如果使用了公共的Maven仓库服务器,可以从Maven中央仓库下载所需要的构件(Artifact),但这通常不是一个好的做法。
​ 正常做法是在本地架设一个Maven仓库服务器,即利用Nexus私服可以只在一个地方就能够完全控制访问和部署在你所维护仓库中的每个Artifact
Nexus在代理远程仓库的同时维护本地仓库,以降低中央仓库的负荷,节省外网带宽和时间,Nexus私服就可以满足这样的需要。
Nexus是一套“开箱即用”的系统不需要数据库,它使用文件系统加Lucene来组织数据。
Nexus使用ExtJS来开发界面,利用Restlet来提供完整的REST APIs,通过m2eclipseEclipse集成使用。
Nexus支持WebDAVLDAP安全身份认证。
Nexus还提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjsREST客户端,它占用较少的内存,基于简单文件系统而非数据库。

为什么要构建Nexus私服?

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

在本地构建Nexus私服的好处:

  1. 加速构建;

  2. 节省带宽;

  3. 节省中央Maven仓库的带宽;

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

  5. 控制和审计;

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

  7. 可以简历本地内部仓库;

  8. 可以简历公共仓库

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

二、Nexus 手动安装

安装Neuxs的前置首要条件是存在jdk1.8以上的环境

java 安装

  • 下载jdk

    • jdk 下载地址
  • 安装java

    • 创建java目录

      mkdir /usr/java
      
    • 解压下载好的文件到 java目录

      tar -zxvf server-jre-8u191-linux-x64.tar.gz -C /usr/java/
      
    • 设置环境变量

      vim /etc/profile
      
      export JAVA_HOME=/usr/java/jdk1.8.0_191
      export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
      export PATH=$PATH:$JAVA_HOME/bin
      
    • 使 /etc/profile 配置文件生效

      source /etc/profile
      

Nexus 安装

  • 下载 Neuxs

    • Nexus 官方网站

    • Neuxs 最新版本地址

    • Neuxs 以前版本地址

      wget http://download.sonatype.com/nexus/3/nexus-3.22.1-02-unix.tar.gz
      
  • 安装Nexus

    • 创建Neuxs安装目录

      mkdir -pv /data/nexus
      
    • 解压到安装目录

      tar -zxvf nexus-3.14.0-04-unix.tar.gz -C /data/nexus
      

      解压到安装目录之后,我们可以看到解压后通常有两个目录
      | 名称 | 作用 |
      | ------------- | :---------------------------------------------------- |
      | nexus-x.x.x | Neuxs运行所需要的文件,运行脚本,依赖jar包等 |
      | sonatype-work | 该目录包含Nexus生成的配置文件、日志文件、仓库文件等 |

    • 创建 Nexus用户,或者使用root用户也可以

      useradd nexus
      
    • 设置用户环境变量

      vim /root/.bashrc
      
      NEXUS_HOME="/data/nexus/nexus-3.14.0-04"
      
    • 设置nexus启动用户,不设置的话,默认使用root用户

      vi $NEXUS_HOME/bin/nexus.rc
      
      #run_as_user=""
      run_as_user="root"
      
  • nexus启动命令加入到system中,centos_6使用下面[Nexus 优化配置](#Nexus 优化配置)中的方式

      vi /etc/systemd/system/nexus.service
      [Unit]
      Description=nexus service
      After=network.target
      
      [Service]
      Type=forking
      LimitNOFILE=65536
      ExecStart=/data/nexus/nexus-3.14.0-04/bin/nexus start
      ExecStop=/data/nexus/nexus-3.14.0-04/bin/nexus stop
      User=root
      Restart=on-abort
      
      [Install]
      WantedBy=multi-user.target  
    
    • 修改端口,根据默认修改

      cd /data/nexus/nexus-3.14.0-04/etc/
      vi nexus-default.properties
      ...
      application-port=8081
      application-host=0.0.0.0
      

    
    - 启动`nexus`并添加开机自启动,`centos_6`使用下面[Nexus 优化配置](#Nexus 优化配置)中的方式
    
    ```shell
    systemctl start nexus
    systemctl enable nexus
    
    • 访问nexus页面

      访问web页面,默认监听端口为8081,即访问http://localhosts:8081 并使用默认管理员账号admin/admin123登录

      出现上图页面,说明配置Nexus成功!点击右上角"Log in",输入默认用户名admin,密码admin123进行登录。

Nexus 优化配置

  • centos_6设置开机自启动,centos_7就按照上方的配置即可

    ln -s /data/nexus/nexus-3.14.0-04/bin/nexus /etc/init.d/nexus
    chkconfig --add nexus
    chkconfig nexus3 on
    
  • 配置运行用户

    Nexus可以使用root运行,不过官方文档里边不建议使用root来运行,因此使用普通用户来运行

    [root@nexus ~]$ useradd nexus
    [root@nexus ~]$ cd /data/nexus/nexus-3.14.0-04/bin
    [root@nexus bin]$ vim nexus.rc
    run_as_uesr="nexus"
    

    配置之后记得更改目录权限,否则下次启动会没有权限

    [root@nexus ~]$ chown -R nexus.nexus /data/nexus/nexus-3.14.0-04
    [root@nexus ~]$ chown -R nexus.nexus /data/nexus/sonatype-work
    
  • 配置jdk

    如果这里不配置,一般会使用默认的JAVA_HOME的变量,如果系统中有多个,那么可以进行配置

    [root@nexus ~]$ cd /data/nexus/nexus-3.14.0-04/bin
    [root@nexus bin]$ vim nexus
    修改第14行
    INSTALL4J_JAVA_HOME_OVERRIDE=/usr/local/jdk1.8.0_144
    
  • 修改端口

    一般使用默认的,如果需要修改,则更改/data/nexus/nexus-3.14.0-04/etc/nexus-default.properties里边的配置

  • 配置存储及日志位置

    [root@nexus bin]$ vim /data/nexus-3.14.0-04/bin/nexus.vmoptions
    
    一般都不做修改,使用默认即可,此处是为了了解这个知识点
    
    -XX:LogFile=../sonatype-work/nexus3/log/jvm.log
    -Dkaraf.data=../sonatype-work/nexus3
    -Djava.io.tmpdir=../sonatype-work/nexus3/tmp
    

http://www.niftyadmin.cn/n/4223543.html

相关文章

python-web自动化环境安装

web自动化环境安装 1、安装selenium 命令行使用以下命令安装selenium:pip install -U selenium 2、安装chrome浏览器 3、chromedriver的下载 : chromedriver放到python安装根目录下面即可 chromedriver下载地址:http://npm.taobao.org/…

GlobeControl 做鹰眼图

之前在网上看的都是mapcontrol做鹰眼的例子,还一个是globe作为主视图,mapcontrol作为鹰眼的例子,自己根据鹰眼的原理,写了一个,大致说下我的思路:1、添加mapcontrol的OnExtentUpdated方法2、在globecontrol…

1.5.1 Python函数初识

一、为什么要使用函数? 1,避免代码重用 2,提高代码的可读性 二、函数的定义与调用 1,函数定义: def func(): 函数注释print(函数体)return 返回值 复制代码 定义:def关键字开头,空格之后接函数名和圆括号,…

k8s介绍性文章索引

2019独角兽企业重金招聘Python工程师标准>>> containered替代了docker engine吗? - Kubernetes Containerd集成进入GA阶段转载于:https://my.oschina.net/u/2475751/blog/3003690

关于自定义异常的层次

纵观众多的开源框架,甚至是jdk自身,异常几乎总是按一定的类层次结构组织起来。那种认为一个系统只需要提供一个异常基类,其余所有异常都是只需要继承这一个基类的观点是武断和片面的。我们至少可以从两个方面来认识异常层次的重要性&#xff…

nexus学习 二、nexus 说明

nexus 说明 component name的说明 maven-central:maven中央仓库,默认从https://repo1.maven.org/maven2/拉取jarmaven-releases:私库发行版jarmaven-snapshots:私库快照(调试版本)jarmaven-public&#x…

在C#中实现打印功能(C#中PrintDialog,PrintDocument的使用)实用的类

http://www.cnblogs.com/sunbin/archive/2010/06/02/1749663.html 在C#中使用PrintDialog可以很方便的实现程序的打印功能。 其步骤如下: 创建一个PrintDialog的实例。如下: System.Windows.Forms.PrintDialog PrintDialog1new PrintDialog ();创建一…

js BOM浏览器对象模型

BOM即Browser Object Model,浏览器对象模型,表示浏览器窗口,所有js全局对象、函数以及变量均是window 对象的成员。 对于不同的浏览器,表示宽度和高度的方法不同: 对于IE9及以上、Chrome、Firefox、Opera以及Safari&am…