声明
博主之前使用的是 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
- 1
这里解压后,会有两个文件夹,一个是 nexus-2.14.5-02
,另外一个是sonatype-work
。
3. 进入目录 nexus-2.14.5-02/bin
,执行以下命令,启动我们的nexus(默认的端口是8081):
./nexus start
- 1
启动之后,你会发现上述警告 NOT RECOMMENDED TO RUN AS ROOT
这个并不影响nexus的正常访问和使用,所以我这里选择忽略。
4. 这个启动过程比较缓慢,需要稍等一段时间:
执行以下命令我们可以看看8081端口是否被占用来查看nexus服务是否启动:
lsof -i:8081
- 1
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
- 1
- 2
- 3
注
Linux搭建Maven私服是完成了,尝试着想在本地宿主机对其进行访问http://192.168.221.130:8081/nexus,这个IP是我的虚拟机地址。情况是像下面这样的访问不到。
网上查其他资料,据说是防火墙的问题,所以尝试着解决下:
vi etc/sysconfig/iptables
- 1
在 iptables
文件中加入以下命令:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8081 -j ACCEPT
- 1
完成后,重启下防火墙:
service iptables restart
- 1
好了,再返回来用宿主机来访问 http://192.168.221.130:8081/nexus这个地址,这个时候你会发现,访问成功了!
还有一种方法就是执行这条命令:
/sbin/iptables -I INPUT -p tcp –dport 8081 -j ACCEPT
只不过我在尝试重启防火墙后无法访问,又得重新设置一遍。