nexus的搭建

参考博客:https://www.cnblogs.com/kevingrace/p/6201984.html
这里只做学习记录,个人参考

Nexus介绍

Nexus是一个强大的Maven仓库管理器,它极大地简化了本地内部仓库的维护和外部仓库的访问。
如果使用了公共的Maven仓库服务器,可以从Maven中央仓库下载所需要的构件(Artifact),但这通常不是一个好的做法。
正常做法是在本地架设一个Maven仓库服务器,即利用Nexus私服可以只在一个地方就能够完全控制访问和部署在你所维护仓库中的每个Artifact。
Nexus在代理远程仓库的同时维护本地仓库,以降低中央仓库的负荷,节省外网带宽和时间,Nexus私服就可以满足这样的需要。
Nexus是一套“开箱即用”的系统不需要数据库,它使用文件系统加Lucene来组织数据。
Nexus使用ExtJS来开发界面,利用Restlet来提供完整的REST APIs,通过m2eclipse与Eclipse集成使用。
Nexus支持WebDAV与LDAP安全身份认证。
Nexus还提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的REST客户端,它占用较少的内存,基于简单文件系统而非数据库。

为什么要构建Nexus私服?
如果没有Nexus私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下载构件无疑加大了仓库的负载和浪费了外网带宽,如果网速慢的话,还会影响项目的进程。很多情况下项目的开发都是在内网进行的,连接不到maven仓库怎么办呢?开发的公共构件怎么让其它项目使用?这个时候我们不得不为自己的团队搭建属于自己的maven私服,这样既节省了网络带宽也会加速项目搭建的进程,当然前提条件就是你的私服中拥有项目所需的所有构件。

总之,在本地构建nexus私服的好处有:
1)加速构建;
2)节省带宽;
3)节省中央maven仓库的带宽;
4)稳定(应付一旦中央服务器出问题的情况);
5)控制和审计;
6)能够部署第三方构件;
7)可以建立本地内部仓库;
8)可以建立公共仓库
这些优点使得Nexus日趋成为最流行的Maven仓库管理器。

下面进行nexus的搭建

1.安装JDK环境(这里用yum的方式,自己也可以参考其他方式)
查看CentOS自带JDK是否已安装

[root@test ~]# yum list installed |grep java

若有自带安装的JDK,应如下操作进行卸载CentOS系统自带Java环境

[root@test ~]# java -version
java version "1.7.0_181"
OpenJDK Runtime Environment (rhel-2.6.14.8.el6_9-x86_64 u181-b00)
OpenJDK 64-Bit Server VM (build 24.181-b00, mixed mode)
 
[root@test ~]# yum -y remove java-1.7.0-openjdk*
[root@test ~]# yum -y remove tzdata-java.noarch
 
[root@test ~]# java --version
-bash: /usr/bin/java: No such file or directory

查看yum库中的Java安装包

[root@test ~]# yum -y list java*
下面的显示省略

以yum库中java-1.8.0为例, "*"表示将java-1.8.0的所有相关Java程序都安装上

[root@test ~]# yum -y install java-1.8.0-openjdk*

查看刚安装的Java版本信息。
输入:“java -version” 可查看Java版本
输入:“javac” 可查看Java的编译器命令用法

2.maven的安装

[root@master-node ~]# cd /usr/local/src/
[root@master-node src]# wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
[root@master-node src]# tar -zvxf apache-maven-3.3.9-bin.tar.gz
[root@master-node src]# mv apache-maven-3.3.9 /usr/local/maven

接着配置系统环境变量,在/etc/profile文件底部添加如下内容:

[root@master-node src]# java -version
openjdk version "1.8.0_111"
OpenJDK Runtime Environment (build 1.8.0_111-b15)
OpenJDK 64-Bit Server VM (build 25.111-b15, mixed mode)
[root@master-node src]# vim /etc/profile
.....
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk                                //java的环境变量设置
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

export MAVEN_HOME=/usr/local/maven                                                 //maven的环境变量设置
export PATH=$PATH:$MAVEN_HOME/bin
[root@master-node src]# source /etc/profile

最后验证是否安装成功,出现如下信息,说明安装成功

[root@master-node src]# mvn --version                   # 最好按照java jdk
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: /usr/local/maven
Java version: 1.8.0_111, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-327.el7.x86_64", arch: "amd64", family: "unix"

3.Nexus安装
我这里采用的是源码安装方式
下载地址:https://www.sonatype.com/download-oss-sonatype (云盘下载:http://pan.baidu.com/s/1miKFm5a)

[root@master-node ~]# cd /usr/local/src/
然后把云盘下载的源码包传进来
[root@master-node src]# tar -zvxf nexus-2.14.4-03-bundle.tar.gz
[root@master-node src]# mv nexus-2.14.4-03 /usr/local/nexus

启动nexus(默认端口是8081)

[root@master-node src]# /usr/local/nexus/bin/nexus start
WARNING: ************************************************************
WARNING: Detected execution as "root" user. This is NOT recommended!
WARNING: ************************************************************
Starting nexus

上面在启动过程中出现告警:不推荐使用root用户启动。这个告警不影响nexus的正常访问和使用。
去掉上面WARNING的办法:

[root@master-node src]# vim /etc/profile
......
export RUN_AS_USER=root
[root@master-node src]# source /etc/profile
[root@master-node src]# lsof -i:8081            //nexus服务启动成功后,需要稍等一段时间,8081端口才起来
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 1486 root 859u IPv4 23504303 0t0 TCP *:tproxy (LISTEN)

在部署机上的iptables里打开8081端口
这里需要注意的是centos7下/etc/sysconfig/目录没有iptables,解决方法如下:
1.不管防火墙关没关,都是用systemctl stop firewalld 关闭防火墙。
2.然后使用yum install iptables-services 安装或者更新服务
3.然后使用systemctl enable iptables 启动iptables
4.最后使用systemctl start iptables 打开iptables
5.输入命令vim /etc/sysconfig/iptables
6.既可以修改iptables文件

[root@master-node src]# vim /etc/sysconfig/iptables
....
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8081 -j ACCEPT
[root@master-node src]#systemctl restart iptables

访问nexus,即http://localhost:8081 (如果出现404,就访问http://localhost:8081/nexus),如果访问还是没反应,多是防火墙的问题,解决方法可以参考学习一下,防火墙的相关配置,如果上线紧急,可以粗暴点,直接iptables -F先清空防火墙。
现在nexus的搭建已经完成,后面的使用方法,后面补充。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值