• CentOS 上安装 Sonatype Nexus 仓库


    在安装仓库之前,需要首先确定服务器上已经安装了 Java。

    建议是用 11 以上的版本。11 版本是最低的需求。

    我们的安装版本是 11。

    2022-10-18_15-10-21

    下载文件

    我们会把文件安装到 /opt 目录下,下载文件后解压。

    cd /opt
    wget https://download.sonatype.com/nexus/3/latest-unix.tar.gz
    tar -xvzf latest-unix.tar.gz
    
    

    2022-10-18_15-13-59

    重命名文件夹

    有 2 个文件夹需要重命名。

    mv nexus-3.42.0-01/ nexus
    
    mv sonatype-work nexusdata
    
    

    2022-10-18_15-16-40

    重命名后的文件夹如上图。

    设置运行的用户权限

    我们将会使用 nexus 用户来运行。

    依次运行下面的命令:

    useradd --system --no-create-home nexus
    
    chown -R nexus:nexus /opt/nexus
    
    chown -R nexus:nexus /opt/nexusdata
    
    

    来对需要运行的用户进行赋权。

    2022-10-18_15-19-02

    修改数据文件路径

    因为我们对数据文件进行了重命名了,所以我们需要修改数据文件的路径。

    vim /opt/nexus/bin/nexus.vmoptions
    然后保存退出。

    -Xms2703m
    -Xmx2703m
    -XX:MaxDirectMemorySize=2703m
    -XX:+UnlockDiagnosticVMOptions
    -XX:+LogVMOutput
    -XX:LogFile=../nexusdata/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=../nexusdata/nexus3
    -Dkaraf.log=../nexusdata/nexus3/log
    -Djava.io.tmpdir=../nexusdata/nexus3/tmp
    -Dkaraf.startLocalConsole=false
    -Djdk.tls.ephemeralDHKeySize=2048
    #
    # 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=${KARAF_HOME}/lib/endorsed/org.apache.karaf.specs.locator-4.3.6.jar
    # --patch-module java.xml=${KARAF_HOME}/lib/endorsed/org.apache.karaf.specs.java.xml-4.3.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
    # --add-exports java.security.sasl/com.sun.security.sasl=ALL-UNNAMED
    #
    # comment out this vmoption when using Java9+
    #
    -Djava.endorsed.dirs=lib/endorsed
    
    

    如果你的数据文件在不同路径的话,这里也可以进行配置。

    编辑 nexus.rc 文件

    因为我们的运行用户名修改了,所以这个文件也需要进行修改。

    /opt/nexus/bin/nexus.rc

    将这行取消注释,修改为下面的内容。

    run_as_user="nexus"

    2022-10-18_15-24-48

    修改服务端地址和端口

    运行下面的命令:
    vi /opt/nexus/etc/nexus-default.properties
    将端口修改为 9090, 当然你也可以不修改这个端口,主要是为了避免和系统中的其他端口冲突。

    地址修改为 127.0.0.1

    修改后的端口和地址如上图。

    修改用户打开文件限制

    因为进程有打开文件的限制。

    在文件的最后添加下面的内容。

    nexus - nofile 65536

    使用命令打开文件。

    vi /etc/security/limits.conf

    在文件的最后添加上面的内容。

    设置 Nexus 为服务

    使用命令编辑下面的文件:

    vi /etc/systemd/system/nexus.service

    将下面的内容复制到这个文件中。

    [Unit]
    Description=Nexus Service
    After=syslog.target network.target
    
    [Service]
    Type=forking
    LimitNOFILE=65536
    ExecStart=/opt/nexus/bin/nexus start
    ExecStop=/opt/nexus/bin/nexus stop
    User=nexus
    Group=nexus
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target
    

    2022-10-18_15-33-54

    然后将上面的文件保存退出。

    将服务设置开机启动,并且启动 nexus 服务。

    依次运行下面的命名:

    systemctl daemon-reload
    
    systemctl enable nexus.service
    

    启动服务

    输入下面的命令来启动服务。

    systemctl start nexus
    

    查看服务启动状态

    运行下面的命令来查看服务启动的状态。

    tail -f /opt/nexusdata/nexus3/log/nexus.log
    

    查看端口状态,如果正常启动端口应该会显示被占用。

    上面显示 9090 端口被占用。

    需要注意的是,第一次启动比较耗时,需要耐心等待。

    校验安装

    如果你没有安装反向代理,并且没有防火墙的话。

    通过 9090 端口,应该就可以正常访问了。

    如果能看到下面的界面,则说明安装已经成功了。

     
  • 相关阅读:
    【BZOJ 5000 OI树】
    九、表锁
    八、ORDER BY优化
    七、索引优化分析
    六、JVM之垃圾回收
    五、JVM之堆内存
    四、JVM之栈与栈帧
    三、JVM之方法区
    二、JVM之体系结构
    一、JVM之类加载器
  • 原文地址:https://www.cnblogs.com/huyuchengus/p/16812129.html
Copyright © 2020-2023  润新知