您的位置:首页 > 运维架构 > Linux

Linux使用Nexus搭建Maven私服

2017-09-14 15:03 561 查看

声明

  博主之前使用的是
nexus-3.5.2-01
版本,所以文章都是
nexus-3.5.2-01
版本的安装,
nexus3.x
nexus2.x
的版本区别还是比较大的,我自己用着很不习惯也很不舒服,所以我给改回了到了以下
nexus-2.14.5-02
这个版本。

前言

  为什么需要构建Maven私服?

  有了Maven私服我们就可以很方便的去管理我们自己的jar包,同时也方便发布构件到远程的仓库中。

  那到底什么是Mavne私服?

  是一种特殊的远程仓库,作为中央仓库的一个代理仓库,它是架设在局域网内的一种仓库服务。目的是为了代理我们的广域网上的远程仓库(中央仓库)提供构件给我们局域网内的Maven用户使用。当Maven需要下载构件的时候,先直接请求私服,如果私服上没有的话,则从外部的远程仓库当中去下载构件,然后缓存到Maven私服中供本地的仓库下载使用。

  来看看无Maven私有仓库和有Maven私有仓库的结构示意图





安装前提

  在搭建Maven私服之前,对我们的安装环境是有要求的,需要我们的Linux安装了 JDK 和 Maven。

  如果你还没有安装,可以参考我之前的两篇文章安装下:

  Linux搭建Java服务器环境-JDK安装

  Linux搭建Java服务器环境-Maven安装

安装过程

  1. 首先,还是跟之前一样,去官网下载 Nexus,我下载的是下面的这个。



  2. 放到自定义的目录下进行解压:

tar -xvf nexus-2.14.5-02-bundle.tar.gz


  这里解压后,会有两个文件夹,一个是
nexus-2.14.5-02
,另外一个是
sonatype-work




  3. 进入目录
nexus-2.14.5-02/bin
,执行以下命令,启动我们的nexus(默认的端口是8081):

./nexus start




  启动之后,你会发现上述警告
NOT RECOMMENDED TO RUN AS ROOT
这个并不影响nexus的正常访问和使用,所以我这里选择忽略。

  4. 这个启动过程比较缓慢,需要稍等一段时间:

  执行以下命令我们可以看看8081端口是否被占用来查看nexus服务是否启动:

lsof -i:8081




  5. 接下来我们页面请求一下地址:
http://localhost:8081/nexus




  出现上述结果,则说明maven私服搭建成功。

  Nexus默认的用户名和密码为
admin/admin123
,大家可以点击网页右上角
Log In
进行登录,执行相关操作。



设置开机启动

  每次重启机器,可能都需要我们重启服务,那我也比较懒,就让它开机启动吧。

  首先进入到
nexus-2.14.5-02/bin/
目录下,找到
nexus
这个文件:



  然后执行以下一系列命令:

cp nexus /etc/init.d/
chkconfig --add nexus
chkconfig nexus on




  Linux搭建Maven私服是完成了,尝试着想在本地宿主机对其进行访问http://192.168.221.130:8081/nexus,这个IP是我的虚拟机地址。情况是像下面这样的访问不到。



  网上查其他资料,据说是防火墙的问题,所以尝试着解决下:

vi etc/sysconfig/iptables


  在
iptables
文件中加入以下命令:

-A INPUT -p tcp -m state --state NEW -m tcp --dport 8081 -j ACCEPT




  完成后,重启下防火墙:

service iptables restart




  好了,再返回来用宿主机来访问 http://192.168.221.130:8081/nexus这个地址,这个时候你会发现,访问成功了!



还有一种方法就是执行这条命令:

/sbin/iptables -I INPUT -p tcp –dport 8081 -j ACCEPT

只不过我在尝试重启防火墙后无法访问,又得重新设置一遍。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: