本文已迁移到我的新博客地址: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