目录
文章目录
- 目录
- 一、机器及系统环境准备
- 1.1 机器准备
- 1.2 系统环境
- 1.3 JDK安装
- 1.4 maven解压安装
- 二、安装nexus
- 2.1 nexus软件安装约定
- 2.2 下载nexus安装包
- 2.3 解压nexus安装包并进行重命名
- 2.4 虚拟机硬件选项配置(可选)
- 2.5 启动 nexus
- 2.6 其它说明
- 三、创建新用户
- 3.1 访问 http://ip_address:8081/ 会有nexus界面
- 3.2 admin用户登陆
- 3.3 创建新用户并登陆
- 四、仓库介绍
- 4.1 四种默认仓库类型介绍
- 4.2 nexus默认的三种主要仓库类型
- 4.3 仓库拉取jar包流程
- 五、创建新仓库
- 5.1 proxy 代理仓库创建
- 5.2 hosted 宿主仓库创建
- 5.2.1 snapshot快照仓库
- 5.2.2 release仓库
- 5.2.3 混合仓库
- 5.3 group 仓库组创建
一、机器及系统环境准备
1.1 机器准备
#一台虚拟机
hostname:myhost
ip:ip_address
1.2 系统环境
[root@myhost ~]$ cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@myhost ~]$ firewall-cmd --state #查看防火墙的状态
running
[root@myhost ~]$ firewall-cmd --list-ports #查看防火墙已经开放的端口
[root@myhost ~]$ firewall-cmd --list-services #查看防火墙开放的服务
dhcpv6-client ssh
#假设设置nexus的web服务端口为8081,允许8081/tcp端口访问
[root@myhost ~]$ firewall-cmd --zone=public --permanent --add-port=8081/tcp
success
[root@myhost ~]$ firewall-cmd --reload #重新加载防火墙配置
success
[root@myhost ~]$ sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/sysconfig/selinux && setenforce 0 && getenforce #关闭selinux
Permissive
1.3 JDK安装
nexus 和tomcat一样运行需要java支持,所以先安装JDK。这里我已经安装好了!
[root@myhost ~]# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
[root@myhost ~]# echo $JAVA_HOME
/usr/local/jdk1.8.0_131
1.4 maven解压安装
[root@myhost ~]# cd /home/tools/
[root@myhost tools]# ll
总用量 476972
-rw-r--r--. 1 root root 8534562 3月 12 14:45 apache-maven-3.5.0-bin.tar.gz
-rw-r--r--. 1 root root 359519811 3月 12 14:45 gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
-rw-r--r--. 1 root root 120360708 3月 12 14:45 nexus-3.16.2-01-unix.tar.gz
[root@myhost tools]# tar xf apache-maven-3.5.0-bin.tar.gz
[root@myhost tools]# ll
总用量 476972
drwxr-xr-x. 6 root root 92 3月 12 15:44 apache-maven-3.5.0
-rw-r--r--. 1 root root 8534562 3月 12 14:45 apache-maven-3.5.0-bin.tar.gz
-rw-r--r--. 1 root root 359519811 3月 12 14:45 gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
-rw-r--r--. 1 root root 120360708 3月 12 14:45 nexus-3.16.2-01-unix.tar.gz
[root@myhost tools]# mv /home/tools/apache-maven-3.5.0 /usr/local/
[root@myhost tools]# cd /usr/local/
[root@myhost local]# ll
总用量 4
drwxr-xr-x. 6 root root 92 3月 12 15:44 apache-maven-3.5.0 #####
drwxr-xr-x. 2 root root 6 8月 12 2015 bin
drwxr-xr-x. 2 root root 6 8月 12 2015 etc
drwxr-xr-x. 2 root root 6 8月 12 2015 games
drwxr-xr-x. 2 root root 6 8月 12 2015 include
drwxr-xr-x. 8 root root 4096 3月 15 2017 jdk1.8.0_131
drwxr-xr-x. 2 root root 6 8月 12 2015 lib
drwxr-xr-x. 2 root root 6 8月 12 2015 lib64
drwxr-xr-x. 2 root root 6 8月 12 2015 libexec
drwxr-xr-x. 2 root root 6 8月 12 2015 sbin
drwxr-xr-x. 5 root root 46 3月 11 16:23 share
drwxr-xr-x. 2 root root 6 8月 12 2015 src
[root@myhost local]# vi /etc/profile
添加maven环境变量:
export MAVEN_HOME=/usr/local/apache-maven-3.5.0
export PATH=${MAVEN_HOME}/bin:${PATH}
[root@myhost local]# source /etc/profile
[root@myhost local]# echo $MAVEN_HOME
/usr/local/apache-maven-3.5.0
二、安装nexus
2.1 nexus软件安装约定
安装包存放目录:/home/tools
nexus 安装目录:/usr/local/nexus
2.2 下载nexus安装包
nexus的官网地址:https://www.sonatype.com/nexus-repository-oss
nexus的相关链接:https://www.sonatype.com/download-oss-sonatype
nexus的官网下载地址:http://download.sonatype.com/nexus/3/nexus-3.16.2-01-unix.tar.gz
说明:
[OSS = Open Source Software,开源软件 – 免费]
[FREE TRIAL,专业版本 – 收费]
[root@myhost ~]# cd /home/tools/
[root@myhost ~]# wget http://download.sonatype.com/nexus/3/nexus-3.16.2-01-unix.tar.gz
2.3 解压nexus安装包并进行重命名
[root@myhost tools]# tar xf nexus-3.16.2-01-unix.tar.gz
[root@myhost tools]# ll
drwxr-xr-x. 9 root root 4096 12月 13 14:11 nexus-3.16.2-01
drwxr-xr-x. 3 root root 19 12月 13 14:11 sonatype-work #工作目录,这个可以不要,nexus安装启动之后会自动生成;
[root@myhost tools]# mkdir /usr/local/nexus
[root@myhost tools]# mv nexus-3.16.2-01 /usr/local/nexus/
[root@myhost tools]# cd /usr/local/nexus/nexus-3.16.2-01/
[root@myhost nexus]# ll
总用量 76
drwxr-xr-x. 3 root root 69 12月 13 14:00 bin
drwxr-xr-x. 2 root root 25 12月 13 14:00 deploy
drwxr-xr-x. 7 root root 98 12月 13 14:00 etc
drwxr-xr-x. 4 root root 4096 12月 13 14:00 lib
-rw-r--r--. 1 root root 395 5月 31 2019 NOTICE.txt
-rw-r--r--. 1 root root 17321 5月 31 2019 OSS-LICENSE.txt
-rw-r--r--. 1 root root 39222 5月 31 2019 PRO-LICENSE.txt
drwxr-xr-x. 3 root root 4096 12月 13 14:00 public
drwxr-xr-x. 20 root root 4096 12月 13 14:00 system
2.4 虚拟机硬件选项配置(可选)
自定义配置虚拟机,可打开 /usr/local/nexus/nexus-3.16.2-01/bin/nexus.vmoptions虚拟机选项配置文件进行配置,如果Linux硬件配置比较低的话,建议修改为合适的大小,否则会出现运行崩溃的现象。
2.5 启动 nexus
nexus常用的一些命令包括:
[root@myhost bin]# /usr/local/nexus/nexus-3.16.2-01/bin/nexus
WARNING: ************************************************************
WARNING: Detected execution as "root" user. This is NOT recommended!
WARNING: ************************************************************
Usage: /usr/local/nexus/bin/nexus {start|stop|run|run-redirect|status|restart|force-reload}
nexus启动:
[root@myhost bin]# /usr/local/nexus/nexus-3.16.2-01/bin/nexus start
WARNING: ************************************************************
WARNING: Detected execution as "root" user. This is NOT recommended!
WARNING: ************************************************************
Starting nexus
查看nexus启动状态:
[root@myhost bin]# /usr/local/nexus/nexus-3.16.2-01/bin/nexus status
WARNING: ************************************************************
WARNING: Detected execution as "root" user. This is NOT recommended!
WARNING: ************************************************************
nexus is running.
出现上述界面说明已经安装启动成功,上面报错意思是nexus建议不要用root用户来启动nexus,但并不影响启动,如果要去除这个可以自行百度。
2.6 其它说明
- 1)nexus的web访问的默认端口是8081,可以在/usr/local/nexus/nexus-3.16.2-01/etc/nexus-default.properties配置中修改。
[root@myhost sonatype-work]# cat /usr/local/nexus/nexus-3.16.2-01/etc/nexus-default.properties
## DO NOT EDIT - CUSTOMIZATIONS BELONG IN $data-dir/etc/nexus.properties
##
# Jetty section
application-port=8081
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
- 2)nexus默认的用户名密码是admin/admin123。
- 3)当遇到奇怪问题时,重启nexus,启动时间会比较慢要1分钟左右后才能访问。
- 4)nexus的工作目录是sonatype-work(路径一般在nexus同级目录下)
例如:我的nexus安装目录是:/usr/local/nexus/nexus-3.16.2-01/ 那麽:nexus的工作目录是/usr/local/nexus/sonatype-work
三、创建新用户
3.1 访问 http://ip_address:8081/ 会有nexus界面
3.2 admin用户登陆
进入首页,点击右上角Nexus“Sign in”,输入默认用户名(admin)和默认密码(admin123)登录。
3.3 创建新用户并登陆
登陆admin后,可以点击上面的“设置”图标,在“设置”里可以添加新用户、角色,对接LDAP等的设置。
创建好新用户好后,用创建的新用户重新登陆。
四、仓库介绍
4.1 四种默认仓库类型介绍
- 1)maven-central: maven中央仓库,默认从https://repo1.maven.org/maven2/拉取jar包
- 2)maven-releases: maven私库发行版jar包
- 3)maven-snapshots: maven私库快照(调试版本)jar包
- 4)maven-public: 仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置settings.xml中使用。
4.2 nexus默认的三种主要仓库类型
(上面的名字可以随便取,关键是它对应的是什麽仓库类型)
- 1)group(仓库组类型): 又叫组仓库,用于方便开发人员自己设定的仓库;
- 2)hosted(宿主类型): 内部项目的发布仓库(内部开发人员,发布上去存放的仓库);
- 3)proxy(代理类型): 从远程中央仓库中寻找数据的仓库(可以点击对应的仓库的Configuration页签下Remote Storage Location属性的值即被代理的远程仓库的路径);
4.3 仓库拉取jar包流程
- 1)maven可直接从宿主仓库下载构件,也可以从代理仓库下载构件,而代理仓库间接的从远程仓库下载并缓存构件;
- 2)为了方便,maven可以从仓库组下载构件,而仓库组并没有时间的内容(下图中用虚线表示,它会转向包含的宿主仓库或者代理仓库获得实际构件的内容).
五、创建新仓库
上面对仓库的概率清楚后,我们开始创建新仓库,一般我们要创建的仓库主要有3个:
proxy代理仓库 作用是去远程拉取jar包
hosted宿主仓库 作用是存放本地上传的三方jar包
group仓库组 作用是将上面来个放到这个组里,进行统一管理
5.1 proxy 代理仓库创建
阿里云中央仓库:http://maven.aliyun.com/nexus/content/groups/public/
5.2 hosted 宿主仓库创建
hosted 宿主仓库这里了三种不同的存储类型。
5.2.1 snapshot快照仓库
5.2.2 release仓库
5.2.3 混合仓库
5.3 group 仓库组创建
主要就是把上面几个仓库放到该组里,然后让这个组给外面访问。
最后看一下所有配置都完成之后
有关在linux服务器上安装nexus搭建maven私服的工作已经完成,接下来就需要配置maven相关配置文件,来测试该仓库的是否成功。