官方文档:https://help.sonatype.com/repomanager3/download/download-archives—repository-manager-3

版本说明

  1. jdk: 需要1.8以上版本(我用的是oracle jdk1.8.0_131, openjdk和 oracle 的都可以)
  2. Nexus: 这里我用的是3.32.0-03
  3. 系统版本: Centos 7.8

准备

因为是 java 项目,依赖 jdk,需要提前安装好, 这里略过

安装

下载

https://download.sonatype.com/nexus/3/nexus-3.32.0-03-unix.tar.gz

解压

tar xf nexus-3.32.0-03-unix.tar.gz -C /opt

修改配置

配置内存

配置文件: $install-dir/bin/nexus.vmoptions

-Xms2703M
-Xmx2703M
-XX:MaxDirectMemorySize=2703M

配置端口

配置文件: $data-dir/etc/nexus.properties

application-port=8081

访问地址: http://localhost:8081/

配置上下路径

配置文件: $data-dir/etc/nexus.properties

nexus-context-path=/components/

这时访问的地址就变成了: http://localhost:8081/components/

配置数据存储目录

配置文件: $install-dir/bin/nexus.vmoptions

-Dkaraf.data=/opt/sonatype-work/nexus3
-Djava.io.tmpdir=/opt/sonatype-work/nexus3/tmp
-XX:LogFile=/opt/sonatype-work/nexus3/log/jvm.log
-Dkaraf.log=/opt/sonatype-work/nexus3/log

配置临时目录

配置文件: $install-dir/bin/nexus.vmoptions

默认目录: $data-dir/tmp

-Djava.io.tmpdir=../sonatype-work/nexus3/tmp #可以是绝对路径也可以是相对路径

启动

Nexus 不建议使用 root 用户启动,在bin/nexus.rc文件里修改启动用户

systemd

[Unit]
Description=nexus service
After=network.target
  
[Service]
Type=forking
LimitNOFILE=65536
ExecStart=/opt/nexus-3.15.2-01/bin/nexus start
ExecStop=/opt/nexus-3.15.2-01/bin/nexus stop
User=nexus
Restart=on-abort
TimeoutSec=600
  
[Install]
WantedBy=multi-user.target

手动

./bin/nexus {start|stop|run|run-redirect|status|restart|force-reload}

用户认证

LDAP

  • Name:OKAY(自定义)
  • Server:ldap://192.168.1.100:389
  • Search base DN: OU=kai,dc=chk,dc=cn
  • Authentication method: Simple Authentication
  • Username or DN: 认证用户名或者 DN
  • Password: 认证密码

升级

官方文档: https://help.sonatype.com/repomanager3/upgrading#Upgrading-PerformtheUpgrade

备份

Nexus 中普通 数据 信息和元数据是分开存储的,前者保存在 blob 目录中,后者保存在数据库中,两者都需要备份,备份策略中必须要同时包含两者才能保证数据 的完整性,所以要备份两类数据:

  • 自定义的配置()

  • blob 数据

  • 元数据

元数据备份

这一步在 Nexus里添加个 tasks(Admin-Export databases for backup) 即可,步骤见官方文档:https://help.sonatype.com/repomanager3/backup-and-restore/configure-and-run-the-backup-task

备份 blob 数据

blob 数据存储在 $data-dir/blobs目录,备份此目录即可。

恢复

  1. 停止 Nexus服务

  2. 删除原有的$data-dir/db目录下的

    • component

    • config

    • security

  3. 将备份的数据文件复制到$data-dir/restore-from-backup,进行恢复(注意:对于3.10.0或更早版本使用作为恢复位置) $data-dir/backup)

  4. 不愿对应的 blob 备份

  5. 启动 Nexus