Nexus3.xx私服搭建

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/pzoozq/article/details/52151630

本文已迁移到我的新博客地址:blog.favorstack.io 欢迎访问~

Nexus的介绍参见之前的博文:http://blog.csdn.net/cloud_xy/article/details/46767645

本文是其最新版本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.安装配置JDK:

sudo mkdir /usr/lib/jvm
sudo tar -zxvf /tmp/jdk-8u65-linux-x64.tar.gz -C /usr/lib/jvm 
注意:下列命令结尾处是换行连接符(\),表示这些命令是一行的,复制后要确保反斜杠(\)后边不能有空格,最好放到纯文本编辑器中确认:
 
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

2.检查版本

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)

3.自定义JAVA_HOME

如果你已经安装了jdk,但不是1.8版本,没关系,直接将jdk1.8 解压就好:

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以前的版本,可以使用如下方法:

1)将启动脚本链接到init.d:

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

2)配置

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

四 用户界面

访问以下链接:

192.168.0.102:8081

初始化: 

 

欢迎页:

可以看出,新版nexus整体布局并没有大的变化,不过左侧明显多出了许多新的功能,比如docker,npm等的支持。

Maven仓库代理地址

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

注意,所有代理地址也跟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

六 安全设置

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

登录后,点击右上角admin,进入管理员帐号管理,然后点击Change password修改默认密码:

首先输入原密码进行认证,认证时间比较短:

然后输入新密码,认证时间比较短,如果修改失败,重新来一次。

另外,我们可以发现,新版本内置用户只有2个,一个管理员一个匿名用户,对应的角色也只有两个,2.xx版本中默认还有一个deployment用户,主要用来发布构建;同时内置多个角色。如果需要新增用户和角色的话可以参考2.xx的权限来分配。

参考文档:

http://books.sonatype.com/nexus-book/3.0/reference/index.html

本文已迁移到我的新博客地址:blog.favorstack.io 欢迎访问~

猜你喜欢

转载自blog.csdn.net/pzoozq/article/details/52151630