• 在ubuntu上搭建nexus私有仓库(指定版本以及jdk!)


    前言

    本来以为搭建一个nexus随随便便就好了,但是遇到了最新版本根本没办法在jdk17下面正常运行—起码我调了一下不知道怎么运行,我才知道。。。不升级版本其实是很有道理的。
    这一篇是最新版本的尝试:
    在ubuntu上搭建nexus私有仓库[失败草稿]
    下面一篇文章让我醍醐灌顶:
    解决Nexus 3.XX Jdk版本问题(亲测有效)

    新的JDK不行,那我用旧的还不行吗?

    版本指定:

    openjdk-1.8

    过程

    安装jdk1.8:

    apt-get install openjdk-8-jre
    
    • 1

    好了:
    在这里插入图片描述

    在官网下载 neuxs:

    wget https://sonatype-download.global.ssl.fastly.net/repository/downloads-prod-group/3/nexus-3.67.1-01-unix.tar.gz
    
    • 1

    我本地下载速度有点慢,看来需要一些科技手段了。

    下载完成后,请上传到服务器等待配置:
    在这里插入图片描述

    在服务器上面,解压缩:

    tar -zxvf nexus-3.67.1-01-unix.tar.gz
    ls 
    
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    ------重命名nexus文件夹
    
    mv nexus-3.67.1-01 /usr/local/nexus3
    cd /usr/local
    创建软连接
    sudo ln -s nexus3 nexus
    mkdir /usr/local/sonatype-work/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    好了,先进行一部分配置:

    vim bin/nexus.vmoptions
    修改一下参数,防止占用内存过大。
    如下图:
    
    • 1
    • 2
    • 3

    在这里插入图片描述
    可以改小一点:
    在这里插入图片描述

    修改默认访问端口以及根目录:

    vim etc/nexus-default.properties 
    
    • 1

    在这里插入图片描述

    注意,默认端口8081很多人用的,使用前请检查一下是否已经占用了:

    lsof -i:8081
    
    • 1

    给nexus分配账号:
    ps:如果不分配账号那么是无法启动的,例如:
    在这里插入图片描述

    创建 nexus 用户
    # sudo useradd nexus -M -s /sbin/nologin
    注意,这条命令后续会出问题的,在我上一篇文章已经将坑都排出来了:
    https://blog.csdn.net/cdnight/article/details/80673110
    所以,正式的命令是新建普通的账号:
    sudo useradd nexus -m -s /bin/bash
    授权
    chown -R nexus:nexus /usr/local/nexus
    chown -R nexus:nexus /usr/local/sonatype-work/
    
    打开 /usr/local/nexus/bin/nexus.rc 文件, 去掉 run_as_user 变量的注释
    sudo vim /usr/local/nexus/bin/nexus.rc
    run_as_user="nexus"
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    好了,测试一下能否正常运行:

    /usr/local/nexus/bin/nexus run
    
    • 1

    结果:
    在这里插入图片描述

    这怕是jdk版本的问题了。。。
    怎么做都不行,下面参考一下一位兄弟的文章:
    解决Nexus 3.XX Jdk版本问题(亲测有效)

    所以,nexus的新版本必须使用jdk1.8,刚刚下载的openjdk1.8就是在这里用的

    在nexus脚本上面覆盖jdk位置:
    在这里插入图片描述

    就是:

    -- 添加这一行上去。
    INSTALL4J_JAVA_HOME_OVERRIDE="/usr/lib/jvm/java-1.8.0-openjdk-amd64"
    
    • 1
    • 2

    测试一下能否正常运行:

    bin/nexus run
    
    • 1

    有:
    在这里插入图片描述

    无法启动成功,gc的值比我分配给它的要多了。。怎么这东西这么吃内存的的???

    改改参数:

    在这里插入图片描述
    变更为512m,然后:
    在这里插入图片描述

    在这里插入图片描述

    启动成功。

    好了,给nexus添加一下系统服务,方便开机启动。

    /lib/systemd/system 创建 nexus.service
    内容:

    [Unit]
    Description=Nexus3服务
    After=network.target
    
    [Service]
    Type=forking
    ExecStart=/usr/local/nexus/bin/nexus start
    ## ExecReload=/usr/local/@projectName@/service.sh restart
    ExecStop=/usr/local/nexus/bin/nexus stop
    PrivateTmp=True
    [Install]
    WantedBy=multiVersions-user.target
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    ps:如果你有域名的话,也可以用域名+nginx 来导向nexus。

    编译项目,发布到私有仓库上

    待续

  • 相关阅读:
    Go的接口,闭包,异常捕获
    linux环境下,oracle备份和还原库
    入门人工智能 ——使用 tensorflow 训练一个新闻分类模型(6)
    Dapr在Java中的实践 之 状态管理
    人工智能学习:Microsoft COCO数据集读取(7)
    第四章-并发与同步思考题
    如何编写vscode插件-- 全声明周期记录
    射频与麦克斯韦方程组
    如何8步完成hadoop单机安装
    Revit中【管线倒角】自定义长度
  • 原文地址:https://blog.csdn.net/cdnight/article/details/138166827