Nexus的介绍以及Nexus2的配置参见之前的文章Nexus2私服搭建.

本文是其最新版本3.xx的安装配置教程。
本文基于:

  • Ubuntu 16.04 LTS(x64)
  • nexus-3.0.1-01 OSS 
  • Oracle JDK-8u65

nexus 3.xx下载地址:
http://www.sonatype.com/download-oss-sonatype

注:本文所有提及JDK的地方可等价替换为JRE,因为nexus只需JRE即可,你也可以下载单独的JRE安装包,
3.xx需要jdk1.8及以上,并且是Oracle Java,其他发行版不支持,包括OpenJDK。

新版本特性:

新增支持:

  • Docker
  • NuGet
  • npm
  • Bower

一 JDK配置

Nexus是一个Java应用,jdk自然必不可少。如果系统尚未安装jdk,首先安装.

1.1 安装配置JDK

1). 解压

$ sudo mkdir /usr/lib/jvm
$ sudo tar -zxvf /tmp/jdk-8u65-linux-x64.tar.gz -C /usr/lib/jvm 

注意:下列命令结尾处是换行连接符(\),表示这些命令是一行的,复制后要确保反斜杠(\)后边不能有空格,最好放到纯文本编辑器中确认:
2). 配置默认JDK

$ sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.8.0_65/bin/javac" 1 \
 && sudo update-alternatives --set javac /usr/lib/jvm/jdk1.8.0_65/bin/javac \
 && sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.8.0_65/bin/java" 1 \
 && sudo update-alternatives --set java /usr/lib/jvm/jdk1.8.0_65/bin/java

3). 检查版本

$ java -version
java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)

1.2 自定义JAVA_HOME

如果你已经安装了jdk,但不是1.8版本,没关系,直接将jdk1.8 解压就好(不用再执行1.1 第2)中的命令):

$ sudo tar -zxvf /tmp/jdk-8u65-linux-x64.tar.gz -C /usr/lib/jvm

我们稍后单独给nexus配置独立的jdk。

二 安装Nexus

1). 解压缩安装包

$ sudo tar -zxvf /tmp/nexus-3.0.1-01-unix.tar.gz -C /var/lib

2). 做个链接,方便日后升级

cd /var/lib
$ sudo ln -s nexus-3.0.1-01 nexus3

接下来我们将/var/lib/nexus3定义为NEXUS_HOME
3). 创建专属运行用户:

$ sudo useradd -m -s /usr/sbin/nologin nexus

然后将所有nexus目录的属主修改为nexus用户 (注:不建议使用root帐号运行):

$ sudo chown -R nexus:root nexus-3.0.1-01

4). 修改自定义JDK环境变量
由于我的机器上已经安装有默认JDK,所以这里我给Nexus使用单独的JDK
打开$NEXUS_HOME/bin/nexus脚本,修改自定义jdk环境变量:
找到下边这一行:

#INSTALL4J_JAVA_HOME_OVERRIDE=

去掉前面的注释(#),并修改值为:

INSTALL4J_JAVA_HOME_OVERRIDE=/usr/lib/jvm/jdk1.8.0_65

保存退出。

5). 修改默认端口
另外,需要注意的是nexus默认运行在8081端口,如果你想修改这个端口,请编辑以下配置文件:

$ sudo vi $NEXUS_HOME/etc/org.sonatype.nexus.cfg

找到这一行修改为你想要的端口即可:

application-port=8081

修改完毕保存退出。

6). 其他可选配置
应用路径(默认为/sudo vi $NEXUS_HOME/etc/org.sonatype.nexus.cfg

nexus-context-path=/

现在基本配置完毕,接下来我们需要配置为系统服务,方便后续维护。

三 配置为系统服务

1). 添加环境变量:

$ sudo vi /home/nexus/.bashrc

追加:

NEXUS_HOME="/var/lib/nexus3"

2). 修改运行用户:

$ sudo vi $NEXUS_HOME/bin/nexus.rc

修改:

run_as_user="nexus"

3).配置启动服务
systemd

$ sudo vi /etc/systemd/system/nexus.service

输入以下内容保存退出

[Unit]
Description=nexus service
After=network.target

[Service]
Type=forking
ExecStart=/var/lib/nexus3/bin/nexus start
ExecStop=/var/lib/nexus3/bin/nexus stop
User=nexus
Restart=on-abort

[Install]
WantedBy=multi-user.target

4).激活并启动服务:

$ sudo systemctl daemon-reload
$ sudo systemctl enable nexus.service
$ sudo systemctl start nexus.service

如果你的系统不支持systemd,比如Ubuntu15.10以前的版本,可以使用如下方法:
a) 将启动脚本链接到init.d:

$ sudo ln -s $NEXUS_HOME/bin/nexus /etc/init.d/nexus

b)配置
update-rc.d(Ubuntu系列):

cd /etc/init.d
sudo update-rc.d nexus defaults
sudo service nexus start

chkconfig(Redhat系列):

cd /etc/init.d
sudo chkconfig --add nexus
sudo chkconfig --levels 345 nexus on
sudo service nexus start

这时打开日志可以查看到启动结果:

$ tail -f /var/lib/nexus3/data/log/nexus.log

如果看到如下字样,说明启动成功

Started Sonatype Nexus OSS 3.0.1-01

2019-03-17T06:06:22.png

四 用户界面

1 访问以下链接:

http://192.168.0.102:8081

初始化:
2019-03-17T06:06:55.png
欢迎页:
2019-03-17T06:07:18.png
可以看出,新版nexus整体布局并没有大的变化,不过左侧明显多出了许多新的功能,比如dockernpm等的支持。

2 Maven仓库代理地址:

http://192.168.1.130:8081/nexus3/repository/maven-public/

注意,所有代理地址也跟2.xx有所区别。

五 安全设置

1.
点击首页右上角Sign in按钮,输入管理员帐号和密码,默认:admin/admin123

登录后,点击右上角admin,进入管理员帐号管理,然后点击Change password修改默认密码:
首先输入原密码进行认证,认证时间比较短:
2019-03-17T06:07:42.png
2.
另外,我们可以发现,新版本内置用户只有2个,一个管理员一个匿名用户,对应的角色也只有两个,2.xx版本中默认还有一个deployment用户,主要用来发布构建;同时内置多个角色。如果需要新增用户和角色的话可以参考2.xx的权限来分配。

六 卸载

注意提前备份数据

$ sudo systemctl stop nexus.service
$ sudo systemctl disable nexus.service
$ sudo rm –rf /etc/systemd/system/nexus.service
$ sudo rm –rf /var/lib/nexus-3.0.1-01

参考文档:
http://books.sonatype.com/nexus-book/3.0/reference/index.html


注: 本文原文最初发表在我的CSDN博客,现归档于此。
文章目录