Maven学习笔记二:Nexus私服搭建

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/pzoozq/article/details/46767645

本文已迁移到我的新博客地址:blog.favorstack.io 欢迎访问~

Nexus是一种流行的Maven远程仓库,我们知道Maven一般有两种仓库,本地仓库和远程仓库,中央仓库是Maven自带的远程仓库,除了中央仓库之外,还存在许多特殊的远程仓库,私服便是一种特殊的远程仓库,使用私服的好处不言而喻:原本我们直接跟中央仓库沟通的,现在在中间加入了一个私服,我们下载一个构件的请求将首先到达私服,如果私服上存在,则直接下载,如果不存在,则首先由私服从中央仓库下载缓存,然后再下载到本地。这种工作模式对于一个团队来说是非常高效的,私服一般工作在公司局域网内,这大大减少了对外网带宽的占用。

本例使用nexus-2.11.2-06 OSS + JDK1.7 + Ubuntu Server14.04

需要注意的是,最新版的nexus 2.11.2-06需要java7u2及以上版本。

下载:

Nexus有三种版本:

• Nexus OSS
• Nexus Pro
• Nexus Pro+

 

我们使用第一种社区版,下载地址:

 

http://www.sonatype.org/nexus/go/

 

 

 

安装:

将下载的tar.gz包上传到Linux服务器/tmp下,然后解压到/var/lib 下:

$sudo tar –zxvf /tmp/nexus-latest-bundle.tar.gz -C /var/lib

如果是zip包,则执行:

$sudo unzip /tmp/nexus-latest-bundle.tar.gz -d /var/lib

然后做一个链接,方便日后升级:

$cd /var/lib

$sudo ln -s nexus-2.11.2-06 nexus

目录结构如下:

/var/lib

    +- nexus ->nexus-2.11.2-06  链接

    +- nexus-2.11.2-06  程序运行目录

    +- sonatype-work  工作目录,该目录包含nexus生成的配置,日志,仓库等

我们将nexus安装目录/var/lib/nexus 定义为NEXUS_HOME变量的值,下文描述将引用该值。

sonatype-work这个位置是可以更改的,其配置在$NEXUS_HOME/conf/nexus.properties

# Nexus section

nexus-work=${bundleBasedir}/../sonatype-work/nexus

 

接下来,我们需要创建一个专门运行nexus的用户:

$sudo useradd -m -N -s /bin/sh nexus

然后将所有nexus目录的属主修改为nexus用户,否则不能运行(不建议作为root运行):

$sudo chown -R nexus:root nexus-2.11.2-06

$sudo chown -R nexus: root sonatype-work

 

然后编辑$NEXUS_HOME/bin/nexus

修改

NEXUS_HOME="/var/lib/nexus"

RUN_AS_USER="nexus"

保存后执行:

$sudo cp $NEXUS_HOME/bin/nexus /etc/init.d

$cd /etc/init.d

$sudo update-rc.d nexus defaults

运行:

需要注意的是Nexus默认运行的端口是0.0.0.0:8081,如果你的服务器该端口已被占用,记得提前更改,可以使用命令检查一下:

$netstat -nltp |grep 8081

如果什么都没显示,则表示该端口没有被占用,如果被占用,则可以这样修改,

其配置在$NEXUS_HOME/conf/nexus.properties:

# Jetty section

application-port=8081

将8081修改Wie一个其他的值即可,比如8082

$cd nexus

$sudo vi conf/nexus.properties

 

# Jetty section

application-port=8082

 

 

接下来我们开始运行Nexus:

$sudo service nexus start

 

Nexus会启动内嵌的Jetty服务器来运行服务,稍等片刻,我们就可以访问首页了,http://[your IP]:8081/nexus:

 

 

接下来,我们需要做一些基本的配置才能使用,比如首先需要修改管理员的密码等。

首先以管理员身份登录,默认用户名密码为admin/admin123

然后点击右上角用户名下拉菜单中的Profile,接着在弹出的选项卡中点击Change Password:

 

 

 

 

在弹出的选项卡中,修改好保存即可。

同样,在nexus中还有默认的另外两个用户,点击左侧导航栏菜单中的Security->Users

在deployment用户上右键->set Password,修改保存。

 

接下来,我们要下载Maven中央仓库的索引文件,点击左侧导航菜单栏中的View/Repositories->Repositories

然后点击列表中的Central,在下边切换到Configuration选项卡,然后找到Download Remote Indexs,将其值修改为true.此时Nexus就会创建一个计划任务在后台下载索引,日后方便本地快速搜索构件:

 

 

 

 

至此,我们的Nexus的私服就可以提供服务了:

http://192.168.0.103:8081/nexus/content/groups/public

 

建议直接将该地址配置在maven的配置文件中(.m2/settings.xml):

 

<settings>

 …

 <mirrors>

<mirror>

      <id>nexus</id>

      <!-- 代理所有地址 -->

      <mirrorOf>*</mirrorOf>

      <name>Human Readable Name for thisMirror.</name>

      <url>http://192.168.0.103:8081/nexus/content/groups/public</url>

</mirror>

  </mirrors>

</settings>

 

 

 

 

参考:

官方文档:http://books.sonatype.com/nexus-book/reference/index.html

本文已迁移到我的新博客地址:blog.favorstack.io 欢迎访问~

 

猜你喜欢

转载自blog.csdn.net/pzoozq/article/details/46767645
0条评论
添加一条新回复