本文共 1955 字,大约阅读时间需要 6 分钟。
引言
之前在互联网公司做项目一直用的公司私有的maven仓库,虽然现在这家公司技术比较low,自己在公司算是大佬级的技术开发,但是本人一直计划着如果有空闲时间就自己搭一个私有maven仓库(nexus),最近项目也收尾了,稍微有点空闲时间,所以自己部署了一个nexus服务,并写下博客,方便日后用到这些技术能够快速整合到项目.简介
私服是指私有服务器,是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构建。有了私服之后,当Maven 需要下载构建时,直接请求私服,私服上存在则下载到本地仓库;否则,私服请求外部的远程仓库,将构件下载到私服,再提供给本地仓库下载. Nexus是一个强大的Maven仓库管理器,它极大地简化了本地内部仓库的维护和外部仓库的访问.如果使用了公共的Maven仓库服务器,可以从Maven中央仓库下载所需要的构建(Artifact),但这通常不是一个好的做法。 正常做法是在本地架设一个本地Maven仓库服务器,利用Nexus私服可以只在一个地方就能够完全控制访问和部署在你所维护仓库中的每个Artifact。Nexus的优点
为什么要构建Nexus私服?好处我随便列几点: 1.Nexus在代理远程仓库的同时维护本地仓库,以降低中央仓库的负荷,节省外网带宽和时间,Nexus私服就可以满足这样的需要。 2.Nexus是一套“开箱即用”的系统不需要数据库,它使用文件系统加Lucene来组织数据。 3.Nexus使用ExtJS来开发界面,利用Restlet来提供完整的REST APIs,并能通过插件和各种IDE集成。 4.Nexus支持WebDAV与LDAP安全身份认证。 5.Nexus还提供了强大的仓库管理功能,构件搜索功能,它基于REST,提供友好的UI,占用较少的内存,基于简单文件系统而非数据库。nexus3下载部署
我的环境是Ubuntu16.04 + JDK8 + MAVEN3.3.9,首先需要安装 JDK8 和 Maven3,这里不多讲。 第一步:下载 去官网下载最新的download nexus(https://www.sonatype.com/download-oss-sonatype)->Nexus Repository Manager OSS 3.x - Unix第二步:解压
文件放入:/usr/local 解压:tar -zxvf nexus-3.13.0-01-unix.tar.gz (or tar -zxvf nexus-3.6.0-02-unix.tar.gz -C /usr/local #解压直接放入local)第三步:修改nexus的运行用户为root
vim /usr/local/nexus-3.13.0-01/bin/nexus.rc 里面的内容修改为:run_as_user="root"第四步:修改nexus启动时要使用的jdk版本
vim /usr/local/nexus-3.13.0-01/bin/nexus.rc 新增如下内容:INSTALL4J_JAVA_HOME_OVERRIDE=/usr/jdk8第五步:修改nexus默认端口(可选),以及允许远程机器访问
vim /usr/local/nexus-3.13.0-01/etc/nexus-default.properties 里面的内容修改为: application-port=8081 application-host=0.0.0.0第六步:启动nexus服务
cd /usr/local/nexus-3.13.0-01/bin/ ./nexus run 启动中看到下图就表示成功了,在root用户下启动会有警告直接忽略就可以了(警告是不推荐用root用户启动) -------------------------------------------------Started Sonatype Nexus OSS 3.13.0-01
-------------------------------------------------
参考文档:https://jingyan.baidu.com/article/ff42efa9d526e4c19e220215.htmlNexus默认的端口是8081,可以在etc/nexus-default.properties配置中修改。
Nexus默认的用户名密码是admin/admin123 当遇到奇怪问题时,重启nexus,重启后web界面要1分钟左右后才能访问。 Nexus的工作目录是sonatype-work(路径一般在nexus同级目录下),日志文件也在这里。转载地址:http://ebjii.baihongyu.com/