【Maven学习】Nexus OSS私服仓库的安装和配置

背景

公司的代码依赖是通过Maven进行管理的,而Maven的私库我们使用的是Nexus,目前使用的版本是Nexus Repository Manager OSS 2.12.1

但是由于之前我们搭建的Nexus服务器就是在我们办公室的一台空闲的Linux电脑上,虽然也稳定地使用两年了,但是基于安全性考虑,准备将Nexus服务器迁移到公司的机房服务器去。

因此我需要在机房重新搭建Nexus服务器,然后将办公室上的Nexus服务器迁移到机房服务器。这一篇博客先来记录下Nexus服务器的安装过程。

一、安装JDK

Nexus是基于java语言开发的,所有在安装Nexus2.12.1之前,我们需要配置Nexus2.12.1运行所需要的jdk环境。Nexus2.12.1需要的JDK版本为JDK7。

因为本机环境以及安装过JDK了,正好版本为JDK7,这边就不演示了。

[root@localhost nexus-2.12.1-01]# java -version
java version "1.7.0_131"
OpenJDK Runtime Environment (rhel-2.6.9.0.el6_8-x86_64 u131-b00)
OpenJDK 64-Bit Server VM (build 24.131-b00, mixed mode)
[root@localhost nexus-2.12.1-01]# 

二、下载并安装Nexus Repository Manager OSS 2.12.1

2.1 下载Nexus Repository Manager OSS 2.12.1

  • Nexus Repository Manager OSS ,之前叫做 Nexus OS,是开源免费的。【OSS = Open Source Software,开源软件——免费】

https://help.sonatype.com/display/NXRM2/Download+Archives+-+Repository+Manager+OSS

  • Nexus Repository Manager,之前叫做 Nexus Professional。只有拥有一个有效的许可证才可以使用所有功能【专业版本——收费】

https://help.sonatype.com/display/NXRM2/Download+Archives+-+Repository+Manager+2

因此我们首先找到Nexus Repository Manager OSS 的下载地址,如下所示:

https://help.sonatype.com/display/NXRM2/Download+Archives+-+Repository+Manager+OSS

然后向下滑动,找到与我们已经安装好的对应的版本 Nexus Repository Manager OSS 2.12.1

然后我们下载 nexus-2.12.1-01-bundle.tar.gz 压缩包,右键复制好相应的下载地址为

https://download.sonatype.com/nexus/oss/nexus-2.12.1-01-bundle.tar.gz

然后我们在机房的Linux服务器(我们的服务器为CenterOS)上下载该压缩包,使用如下命令即可下载。

wget https://download.sonatype.com/nexus/oss/nexus-2.12.1-01-bundle.tar.gz

等待几分钟即可下载好压缩包。这一次用时10m 41s下载好了nexus-2.12.1-01-bundle.tar.gz

2.2 解压 nexus-2.12.1-01-bundle.tar.gz 压缩包

nexus-2.12.1-01-bundle.tar.gz压缩包解压到/usr/local目录下,使用如下命令

tar -xf nexus-2.12.1-01-bundle.tar.gz -C /usr/local/

上面命令执行完后,nexus-2.12.1-01-bundle.tar.gz就解压到了/url/local目录下,使用如下命令即可查看

cd /usr/local/
ll

然后我们进入到 nexus-2.12.1-01/ 目录下

[root@localhost local]# cd nexus-2.12.1-01/
[root@localhost nexus-2.12.1-01]# ll
总用量 40
drwxr-xr-x 3 1001 1001  4096 12月 13 16:27 bin
drwxr-xr-x 2 1001 1001  4096 12月 13 16:27 conf
drwxr-xr-x 2 1001 1001  4096 12月 13 16:27 lib
-rw-r--r-- 1 1001 1001 11006 3月   3 2016 LICENSE.txt
drwxr-xr-x 2 1001 1001  4096 3月   3 2016 logs
drwxr-xr-x 4 1001 1001  4096 12月 13 16:27 nexus
-rw-r--r-- 1 1001 1001   782 3月   3 2016 NOTICE.txt
drwxr-xr-x 2 1001 1001  4096 3月   3 2016 tmp
[root@localhost nexus-2.12.1-01]#

2.3 将nexus2.12.1加入到系统服务中

使用如下的命令,将nexus2.12.1加入到系统服务中

[root@localhost nexus-2.12.1-01]# cp bin/nexus /etc/init.d/nexus2
[root@localhost nexus-2.12.1-01]# chkconfig --add nexus2
[root@localhost nexus-2.12.1-01]# chkconfig nexus2 on 

2.4 修改Nexus2脚本的配置文件

使用vim命令,修改/etc/init.d/nexus2文件

vim /etc/init.d/nexus2

这里需要修改两个变量值

  • NEXUS_HOME修改为Nexus的解压目录 /usr/local/nexus-2.12.1-01/
  • RUN_AS_USER修改为 root
#-----------------------------------------------------------------------------
# These settings can be modified to fit the needs of your application

# Set this to the root of the Nexus installation
#NEXUS_HOME=".."
#修改为真正的Nexus目录
NEXUS_HOME="/usr/local/nexus-2.12.1-01/"

# If specified, the Wrapper will be run as the specified user.

# IMPORTANT - Make sure that the user has the required privileges to write into the Nexus installation directory.

# NOTE - This will set the user which is used to run the Wrapper as well as
#  the JVM and is not useful in situations where a privileged resource or
#  port needs to be allocated prior to the user being changed.
#RUN_AS_USER=
#将运行时的用户改为root
RUN_AS_USER=root

2.5 配置Nexus2启动时候的jdk版本

在 /usr/local/nexus-2.12.1-01 目录下执行下面的命令

[root@localhost nexus-2.12.1-01]# vim bin/jsw/conf/wrapper.conf 

需要将wrapper.java.command 设置为 java的真实路径,我们先使用 cat /etc/profile命令,获取到java的安装目录为 /usr/bin/java

JAVA_HOME=/usr/java
PATH=$PATH:%JAVA_HOME%/bin
CLASSPATH=%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar

[root@localhost nexus-2.12.1-01]# ls /usr/java/bin/
appletviewer  idlj       java     javafxpackager  javapackager  jcmd      jdb    jinfo  jmc      jrunscript  jstat      keytool       pack200     rmid         serialver   unpack200  xjc
ControlPanel  jar        javac    javah           java-rmi.cgi  jconsole  jdeps  jjs    jmc.ini  jsadebugd   jstatd     native2ascii  policytool  rmiregistry  servertool  wsgen
extcheck      jarsigner  javadoc  javap           javaws        jcontrol  jhat   jmap   jps      jstack      jvisualvm  orbd          rmic        schemagen    tnameserv   wsimport
[root@localhost nexus-2.12.1-01]#

因此wrapper.java.command 的值我们得设置为 /usr/java/bin/java

# Set the JSW working directory (used as base for resolving relative paths)
wrapper.working.dir=../../..

# Set the JVM executable
# (modify this to absolute path if you need a Java that is not on the OS path)
#wrapper.java.command=java
#设置好Java执行文件所处的位置
wrapper.java.command=/usr/java/bin/java

2.6 配置Nexus2监听的端口以及仓库存储位置

以上修改完毕后,我们再来修改nexus2.12.1监听的端口,以及仓库的存储位置,如下:

通过vim命令修改 conf/nexus.properties文件

[root@localhost nexus-2.12.1-01]# pwd
/usr/local/nexus-2.12.1-01
[root@localhost nexus-2.12.1-01]# ll
总用量 40
drwxr-xr-x 3 1001 1001  4096 12月 13 16:27 bin
drwxr-xr-x 2 1001 1001  4096 12月 13 16:27 conf
drwxr-xr-x 2 1001 1001  4096 12月 13 16:27 lib
-rw-r--r-- 1 1001 1001 11006 3月   3 2016 LICENSE.txt
drwxr-xr-x 2 1001 1001  4096 3月   3 2016 logs
drwxr-xr-x 4 1001 1001  4096 12月 13 16:27 nexus
-rw-r--r-- 1 1001 1001   782 3月   3 2016 NOTICE.txt
drwxr-xr-x 2 1001 1001  4096 3月   3 2016 tmp
[root@localhost nexus-2.12.1-01]# vim conf/nexus.properties

application-port设置为8081,将nexus-work设置为${bundleBasedir}/../sonatype-work/nexus,如下所示

# Jetty section
application-port=8081
application-host=0.0.0.0
nexus-webapp=${bundleBasedir}/nexus
nexus-webapp-context-path=/nexus

# Nexus section
nexus-work=${bundleBasedir}/../sonatype-work/nexus
runtime=${bundleBasedir}/nexus/WEB-INF

好了,Nexus的安装初步设置操作,完毕!

三、启动Nexus

在启动Nexus之前,我们先看看 Nexus有哪些命令?
敲如下的命令,可以看到nexus有的命令有 console | start | stop | restart | status | dump

[root@localhost nexus-2.12.1-01]# /etc/init.d/nexus2
Usage: /etc/init.d/nexus2 { console | start | stop | restart | status | dump }
[root@localhost nexus-2.12.1-01]# 

3.1 启动Nexus

使用如下命令启动Nexus

/etc/init.d/nexus2 start

如下所示

[root@localhost nexus-2.12.1-01]# /etc/init.d/nexus2 start
****************************************
WARNING - NOT RECOMMENDED TO RUN AS ROOT
****************************************
Starting Nexus OSS...
Started Nexus OSS.
[root@localhost nexus-2.12.1-01]#

通过日志我们可以看到 Nexus OSS 已经正常启动了。

3.2 访问Nexus

Nexus服务启动之后,我们就可以通过浏览器来访问Nexus了,在浏览器进行访问。

地址为 http://ip:端口/nexus

如下所示,在浏览器输入地址 http://ip地址:8081/nexus 然后就出现了如下所示的画面。

通过上图,我们可以很明显的看到Nexus2.12.1已经正常启动。

3.3 登录后台管理界面

现在我们登录到Nexus2.12.1管理后台。

Nexus管理后台默认的管理员用户名和密码为admin/admin123

填好用户名和密码,点击LogIn,然后我们就可以看到如下所示的界面

点击左侧菜单栏的Responsitories

然后就可以展开目前拥有的Responsitories

关于仓库的截图,放大部分如下所示:

一般用到的仓库种类是hosted、proxy。
Hosted代表宿主仓库,用来发布一些第三方不允许的组件,比如Oracle驱动、比如商业软件jar包。

Proxy代表代理远程的仓库,最典型的就是Maven官方中央仓库、JBoss仓库等等。如果构建的Maven项目本地仓库没有依赖包,那么就会去这个代理站点去下载,那么如果代理站点也没有此依赖包,就回去远程中央仓库下载依赖,这些中央仓库就是proxy。代理站点下载成功后再下载至本机。

默认情况下Nexus为我们创建了以下主要的Repository:

  • Public Repositories,这是一个Repository Group,它所对应的URL为http://localhost:8080/nexus-2.5/content/groups/public/,该Repository Group包含了多个Repository,其中包含了Releases、Snapshots、Third Party和Central。Repository Group的作用是我们只需要在自己的项目中配置该Repository Group就行了,它将自动从其所包含的Repository中下载依赖,比如如果我们声明对Spring的依赖,那么根据Repository Group中各个Repository的顺序(可以配置),Nexus将首先从Releases中下载Spring,发现没有,再从Snapshots中下载(极大可能也没有,因为它是个Snapshots的Repository),依次查找,最后可能在Central Repository中找到。在配置项目的Repository时,我们应该首先考虑Public Repositories。
  • 3rd party,该Repository即是存放你公司所购买的第三方软件库的地方,它是一个由Nexus自己维护的一个Repository。
  • Apache Snapshots,看名字你就应该知道这是个什么样的Repository,这是一个代理Repository,即最终的依赖还是得在Apache官网上去下载,然后缓存在Nexus中。
  • Central,这就是代理Maven Central Repository的Repository。
  • Releases,你自己的项目要发布时,就应该发布在这个Repository,他也是Nexus自己维护的Repository,而不是代理。
  • Snapshots,你自己项目Snapshot的Repository。

参考链接



作者:欧阳鹏 欢迎转载,与人分享是进步的源泉!

转载请保留原文地址:http://blog.csdn.net/ouyang_peng/article/details/78793038
本文同步发表在阿里云栖:?spm=5176.blogshare282205.0.0.xLalTm

如果觉得本文对您有所帮助,欢迎您扫码下图所示的支付宝和微信支付二维码对本文进行随意打赏。您的支持将鼓励我继续创作!

时间: 2024-10-24 01:12:02

【Maven学习】Nexus OSS私服仓库的安装和配置的相关文章

【Maven学习】Nexus OSS私服仓库的备份与迁移

背景 在上一篇博客 [Maven学习]Nexus OSS私服仓库的安装和配置 中,我们已经在机房搭建好了新的Nexus OSS私服仓库.下面是两个版本的Nexus OSS私服仓库的对比图. 老的Nexus OSS私服仓库 新的Nexus OSS私服仓库 明显老的Nexus OSS私服仓库的内容比新的Nexus OSS私服仓库的内容多.因此我们现在的工作就是将办公室上的老的Nexus服务器上的所有的数据迁移到机房的Nexus服务器.这一篇博客记录下整个Nexus OSS私服仓库的备份与迁移的过程.

MAVEN学习笔记之私服Nexus(2)

MAVEN学习笔记之私服Nexus(2) 私有服务器搭建 Nexus www.snatype.org下载 snatype-work 是默认nexus存储nexus a:将bin添加到环境中 Adminisrator path b:修改java的绝对路径 文件bin\jsw\config\wrapper.config 内容wrapper.java.command=E:\IDE\Java\JDK\bin\java c:cmd中 nexus install ;nexus start localhost

Maven 使用Nexus创建私服

仓库管理软件:     私服不是Maven的核心概念,它仅仅是一种衍生出来的特殊的Maven仓库      有三种专门的Maven仓库管理软件可以用来帮助大家建立私服:      Apache基金会的Archiva.JFrog的Artifacotory和Sonatype的Nexus,Archiva是开源的,Artifacotory和Nexus的核心也是开源的     Nexus分为开源版和专业版,开源版本基本GPLv3许可证,其特性足以满足大部分Maven用户的需要,特性如下:      较小的

java 学习笔记(入门篇)_java的安装与配置_java

  学习Java已经很长时间了,但是总感觉基础不是很好,有时候遇到一些平时不常见的问题就会无从下手,也从侧面显现了自己的一些问题.所以,打算写Java的随手笔记来巩固基础,加强学习.今天是第一篇,主要是java的安装,配置,也就是常说的Hello world.   一.下载   进入Oracle的官网,下载Java的jdk,   二.安装   安装就简单了,只需要下一步就可以,路径可以根据需要自己选择.   三.配置    安装完jdk后还不能来编译程序,因为还需要配置java 的jdk.进入的

RabbitMQ学习系列(二): RabbitMQ安装与配置

上一篇,简单介绍了RabbitMQ的情况还有一些相关的概念,这一篇,会讲讲 RabbitMQ安装与配置. 1.安装 Rabbit MQ 是建立在强大的Erlang OTP平台上,因此安装RabbitMQ之前要先安装Erlang. erlang:http://www.erlang.org/download.html rabbitmq:http://www.rabbitmq.com/download.html 注意: 1.现在先别装最新的 3.6.3 ,本人在安装完最新的版本,queue 队列有问题

【Maven学习】Nexus私服代理其他第三方的Maven仓库

一.背景 [Maven学习]Nexus OSS私服仓库的安装和配置http://blog.csdn.net/ouyang_peng/article/details/78793038 [Maven学习]Nexus OSS私服仓库的备份与迁移http://blog.csdn.net/ouyang_peng/article/details/78796215 通过前面的两篇博客,我们已经将Nexus搭建好并且迁移到了新的机房,现在我发现我们之前的Nexus私服服务器居然没有对第三方经常使用的JCente

虚拟化KVM安装与配置

最近打算把公司的服务器全部做成虚拟化,一是跟有效的利用了服务器,二也是对自己是一个学习的机会. KVM的安装与配置步骤如下: 1. 查看是否支持虚拟化 2. 安装kvm及其所需的软件包 3. kvm图形化管理工具 4. 检测kvm模块是否安装成功 5. 检测kvm是否安装成功 6. 编辑网卡 7. 配置桥接网卡br0 8. 配置网卡eth0 9. 重启并查看网卡,使之生效 10. 关闭防火墙 11. 创建ISO镜像文件夹,使用NFS存储 12. 创建虚拟机硬盘 13. 创建虚拟机 14. 使用V

Maven学习四之利用Nexus来构建企业级Maven仓库

概述 Nexus是Maven仓库管理器,用来搭建一个本地仓库服务器,这样做的好处是便于管理,节省网络资源,速度快,还有一个非常有用的功能就是可以通过项目的SNAPSHOT版本管理,来进行模块间的高效依赖开发.      发现问题 虽然你可以通过中央仓库来获取你所需要的jar包,但是现实往往是存在很多问题: 问题1 网速慢,你可能需要花很长的时间来下载你所需要的jar 问题2 如果你的公司很大,有几百甚至几千人再用Maven,那么这些人都去通过中央仓库来获取jar,那么这是一个很大的资源浪费.如果

抗忙,,建个MAVEN的私服仓库-NEXUS

公司最近需求越来越上轨道,MAVEN的私服仓库-NEXUS构架起来哟.. 参考文档URL: http://www.linuxidc.com/Linux/2011-07/39578p3.htm http://www.cnblogs.com/dingyingsi/p/3776557.html http://blog.csdn.net/kimylrong/article/details/23280155 http://blog.linguofeng.com/archive/2012/08/10/mav