1.介绍
Nexus介绍
Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一个Maven仓库服务器,在代理远程仓库的同时维护本地仓库,以节省带宽和时间,Nexus就可以满足这样的需要。此外,他还提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的REST客户端,它占用较少的内存,基于简单文件系统而非数据库。这些优点使其日趋成为最流行的Maven仓库管理器。
2.为什么使用Nexus
如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下载构件无疑加大了仓库的负载和浪费了外网带宽,如果网速慢的话,还会影响项目的进程。很多情况下项目的开发都是在内网进行的,连接不到maven仓库怎么办呢?开发的公共构件怎么让其它项目使用?这个时候我们不得不为自己的团队搭建属于自己的maven私服,这样既节省了网络带宽也会加速项目搭建的进程,当然前提条件就是你的私服中拥有项目所需的所有构件。
3.下载和安装
Nexus 运行需要java 环境,故先安装jdk
4.安装jdk1.8
1.查看本机JDK信息:
4.解压jdk压缩包
[root@proxy soft]# tar -zxvf jdk-8u121-linux-x64.tar.gz
5.将解压的文件移动到新建的java目录下
[root@proxy soft]# mv -f jdk1.8.0_121/ /usr/local/java/
6.配置jdk的环境变量:
[root@proxy soft]# vi /etc/profile
7.在profile的文件末尾加上以下配置:
JAVA_HOME=/usr/local/java/jdk1.8.0_121
JRE_HOME=/usr/local/java/jdk1.8.0_121/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
8.使用source /etc/profile命令重新加载/etc/profile文件:
[root@proxy ~]# source /etc/profile
[root@proxy ~]# java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
jdk安装完成。
二、安装 nexus
nexus默认的管理员用户名密码是:admin/admin123
1.安装
1.1解压
[root@proxy soft]# tar -zxvf nexus-3.2.1-01-unix.tar.gz
2.在/usr/local目录下创建nexus文件夹
[root@proxy soft]# mkdir /usr/local/nexus
[root@proxy soft]# mv -f nexus-3.2.1-01 /usr/local/nexus/
3.启动nexus
进入bin
目录,运行如下命令启动(&符号表示后台启动):
[root@proxy nexus]# ./nexus-3.2.1-01/bin/nexus run &
-------------------------------------------------
Started Sonatype Nexus OSS 3.2.1-01
-------------------------------------------------
4.开启端口允许外部访问
nexus 默认使用8081端口
[root@proxy nexus]# firewall-cmd --zone=public --add-port=8081/tcp --permanent
success
[root@proxy nexus]# firewall-cmd --reload
success
nexus启动成功之后,就可以访问私服了。
nexus3.X的默认端口是:8081
nexus3.X的默认账号是:admin
nexus3.X的默认密码是:admin123
nexus3.X搭建的maven3.3.9**私服的本地访问地址是:http://私服的ip:8081**
如我的:http://192.168.8.1:8081
5.nexus3.X的优化配置(可选):
1.把nexus3.1加入到系统服务,使之能够开机自启动:
[root@proxy ~]# ln -s /usr/local/nexus/nexus-3.2.1-01/bin/nexus /etc/init.d/nexus3
[root@proxy ~]# chkconfig --add nexus3
[root@proxy ~]# chkconfig nexus3 on
2.修改nexus3的默认端口
改为8888
[root@proxy ~]# vi /usr/local/nexus/nexus-3.2.1-01/etc/nexus-default.properties
## DO NOT EDIT - CUSTOMIZATIONS BELONG IN $data-dir/etc/nexus.properties
##
# Jetty section
application-port=8888
application-host=0.0.0.0
nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml
nexus-context-path=/
# Nexus section
nexus-edition=nexus-pro-edition
nexus-features=\
nexus-pro-feature
3.
修改nexus3数据以及相关日志的存储位置:
[root@proxy ~]# vi /usr/local/nexus/nexus-3.2.1-01/bin/nexus.vmoptions
-Xms1200M
-Xmx1200M
-XX:MaxDirectMemorySize=2G
-XX:+UnlockDiagnosticVMOptions
-XX:+UnsyncloadClass
-XX:+LogVMOutput
-XX:LogFile=../sonatype-work/nexus3/log/jvm.log
-Djava.net.preferIPv4Stack=true
-Dkaraf.home=.
-Dkaraf.base=.
-Dkaraf.etc=etc/karaf
-Djava.util.logging.config.file=etc/karaf/java.util.logging.properties
-Dkaraf.data=../sonatype-work/nexus3
-Djava.io.tmpdir=../sonatype-work/nexus3/tmp
-Dkaraf.startLocalConsole=false
4.
修改运行nexus3所使用的用户
[root@proxy ~]# vi /usr/local/nexus/nexus-3.2.1-01/bin/nexus.rc
run_as_user="root"
保存退出
4.现在我们可以启动nexus3使用如下命令:
[root@proxy ~]# /etc/init.d/nexus3 start
WARNING: ************************************************************
WARNING: Detected execution as "root" user. This is NOT recommended!
WARNING: ************************************************************
Starting nexus
开启访问端口
[root@proxy ~]# firewall-cmd --zone=public --add-port=8888/tcp --permanent
success
[root@proxy ~]# firewall-cmd --reload
success
[root@proxy ~]# firewall-cmd --list-all
三、安装maven 3.3.9
1.在/usr/local文件中创建:
[root@proxy ~]# mkdir /usr/local/maven3.在profile的文件末尾加上以下配置:
export M2_HOME=/usr/local/maven/apache-maven-3.3.9
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$M2_HOME/bin:$PATH
4.使环境变量生效
[root@proxy maven]# source /etc/profile
5.测试maven安装是否成功
[root@proxy maven]# mvn -v
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: /usr/local/maven/apache-maven-3.3.9
Java version: 1.8.0_121, vendor: Oracle Corporation
Java home: /usr/local/java/jdk1.8.0_121/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-514.el7.x86_64", arch: "amd64", family: "unix"
maven安装成功。教程结束