Nexus3:安装、配置
跳到导航
跳到搜索
关于
【以下使用 Nexus OSS 3.x 版本】
Nexus 提供了两种安装方式:
- 第一种是内嵌 Jetty 的 bundle,解压到安装目录中就能直接运行;
- 第二种方式是 WAR,将其发布到 web 容器中即可使用。
- Nexus 要求 jdk 版本为 1.7
安装
下载地址:https://www.sonatype.com/thanks/repo-oss?submissionGuid=35aa362b-077c-455b-b7b1-c77b3244c94e 或者:https://www.sonatype.com/download-oss-sonatype
安装:
- 下载压缩包(如:“nexus-3.36.0-01-win64.zip”);
- 解压:
- 到目录(如:“D:\Program Files\Nexus3”),包含两个文件夹“nexus-3.36.0-01”、“sonatype-work”;
- 注册服务:
# 在“./nexus-3.36.0-01/bin”目录 nexus.exe /install Nexus3
- 如果提示“Could not open SCManager”,则需要:以管理员身份运行 cmd,然后重新执行。
配置:
- 端口配置:“./nexus-3.36.0-01/etc/nexus-default.properties”;(默认 8081)
- (其他配置:“./nexus-3.36.0-01/bin/nexus.vmoptions”);
启动:(两种方法)
- 启动需要几分钟的时间;
访问:
默认的用户名/密码:admin/admin123。- 默认生成的密码,位于“./sonatype-work/nexus3/admin.password”文件中。
更新
参考: 1、 https://support.sonatype.com/hc/en-us/articles/115000350007-Upgrading-Nexus-Repository-Manager-3 2、 https://help.sonatype.com/repomanager3/installation-and-upgrades/upgrading-a-standalone-instance
更新步骤:
- 从官方下载的最新安装程序包。
- 准备安装:
- 解压新的程序包;
- 比较新的程序包与现有安装包的“nexus-3.x/bin/nexus.vmoptions”文件:
- 如果更改了数据目录的默认位置,修改“-Dkaraf.data=../sonatype-work/nexus3”;
- 如果更改了临时目录的默认位置,修改“-Djava.io.tmpdir=../sonatype-work/nexus3/tmp”;
- 如果更改了 Java 虚拟机最大堆内存,修改“-Xmx1200M”;
- 如果已启用 Jetty HTTPS 访问权限,确保“etc/jetty/jetty-https.xml”的 SSL 密钥库位置仍然可用于新安装;
- 如果手动调整了“./etc”下任何其他安装文件,需要手动执行旧文件和新文件之间的差异,并将更改应用于新版本(如果适用)。
- 【特别注意“./etc/nexus-default.properties”中端口的修改】
- 执行安装:
- 对现有数据目录和任何自定义 blobstore 位置进行最新备份;
- 停止并卸载已有 nexus 服务;
- (通过“./bin”下脚本,或系统服务)
- 安装并启动新的 nexus 服务;
- (通过“./bin”下脚本,或系统服务)
- 检查日志文件中是否存在任何可能的问题,并登录服务器以确认一切正常。
- (默认日志路径在 sonatype-work/nexus3/log 下)
服务管理
Nexus 3 通过以下命令管理其服务:
# 安装 nexus.exe /install <service-name> # 卸载 nexus.exe /uninstall <service-name> # 启动 nexus.exe /start <service-name> # 停止 nexus.exe /stop <service-name> # 状态 nexus.exe /status <service-name>
- 命令均在安装目录(“./nexus-3.36.0-01/bin”)执行。
目录结构
参考: https://help.sonatype.com/repomanager3/installation-and-upgrades/directories
Nexus:
- nexus-3.36.0-01:安装目录【升级时只需要替换该目录】
- bin:启动脚本、相关配置
- “nexus.vmoptions”:运行时配置
- etc: jetty、karaf 等配置
- “nexus-default.properties”:端口、主机、上下文配置
- jre:jre 环境
- lib:依赖库
- public:公共资源
- system:构成 nexus 的所有组件和插件
- bin:启动脚本、相关配置
- sonatype-work:工作目录(数据目录)
- nexus3
- blobs:创建 blob 的默认路径,当然也可以重新指定
- cache:当前缓存的 karaf 包的信息
- db:OrientDB 数据库的数据,用于存储 nexus 的元数据的数据库
- elasticsearch:当前配置的 Elasticsearch 状态
- etc:大概是运行时配置状态和关于资源库的自定义的相关的东西???
- health-check:健康检查的相关报告
- keystores:自动生成的关于资源库的 ID 主键
- log:日志文件
- orient:
- tmp:临时存储
- “clean_cache”:
- nexus3
仓库类型(“TYPE”)
- proxy:代理仓库,即,代理仓库就是远程仓库的代理。
- 默认 Nexus 仓库管理自带三种代理仓库 Apache Snapshots / Codehaus Snapshots / Central,但是在 3.x 中就只有 Central 了。
- hosted:宿主仓库,即,被仓库管理者持有的仓库。
- Nexus 仓库管理自带三种宿主仓库 3rd Party / Releases / Snapshots,在 3.x 中默认不带 3rd Party 了。
- group:仓库组,一些其它仓库的组合。
- 不具有实际仓库的功能,只是对现有的仓库组织起来。客户端请求的还是实际配置的仓库。
- 仓库组配置时,需要注意成员仓库的顺序:“建议将‘宿主仓库’置于‘代理仓库’之前。(使用时:先查找‘宿主仓库’再查找‘代理仓库’)”