Ubuntu部署和体验Nexus3
关于Nexus
如下图,在局域网部署了Nexus之后,可以缓存中央仓库的jar,开发者开发的二方库发布到Nexus上,局域网内的其他人也可以从Nexus下载这些二方库使用:

环境信息
本次实战是在Linux服务器上通过Docker安装Nexus3:
- 操作系统:Ubuntu 18.04.3 LTS
- Docker:19.03.5
- Nexus:3.19.1
安装docker
- apt更新:
apt-get update
- 安装curl:
apt-get install -y curl
- 安装docker:
curl -sSL https://get.docker.com | sh
- 安装完成后,检查docker是否正常:
root@hedy:~# docker version
Client: Docker Engine - Community
Version: 19.03.5
API version: 1.40
Go version: go1.12.12
Git commit: 633a0ea838
Built: Wed Nov 13 07:29:52 2019
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.5
API version: 1.40 (minimum version 1.12)
Go version: go1.12.12
Git commit: 633a0ea838
Built: Wed Nov 13 07:28:22 2019
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.2.10
GitCommit: b34a5c8af56e510852c35414db4c1f4fa6172339
runc:
Version: 1.0.0-rc8+dev
GitCommit: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
docker-init:
Version: 0.18.0
GitCommit: fec3683
部署Nexus3
- 创建工作目录并赋权限:
mkdir -p /usr/local/work/nexus-data && chown -R 200 /usr/local/work/nexus-data
- 下载Nexus镜像并创建容器:
docker run -d \
-p 8081:8081 \
--name nexus \
-v /usr/local/work/nexus-data:/nexus-data \
sonatype/nexus3:3.19.1
上述命令的参数较多,有几点需要注意:
a. 容器的8081端口映射到宿主机的8081端口;
b. 容器名为nexus;
c. 容器的/nexus-data/目录被映射到宿主机的/usr/local/work/nexus-data/;
d. 镜像是sonatype官方的3.19.1版本;
3. 等待容器创建成功后,Nexus3即部署成功;
登录和操作Nexus3
- 在控制台执行以下命令,即可获得Nexuse3的初始密码:
echo `docker exec nexus cat /nexus-data/admin.password`
我这里得到的是2c9c5399-d0da-48ec-9050-dc4f43cede10
2. 点击下图右上角红框中的Sign in,进入登录页面:

3. 登录页面如下图,账号admin,密码是刚才获取的2c9c5399-d0da-48ec-9050-dc4f43cede10:

4. 登录成功会提示修改密码,如下图,请修改:

5. 是否运行匿名访问,这里勾选上:

角色和账号
在实际使用中,为了安全起见,不能让每个用户使用admin账号,您可以先创建角色,按实际需要给角色增加各种权限,再创建此角色下的账号:
- 点击下图红框中的按钮,进入设置页面:

- 下图红框中是角色管理页面的链接,您可以按照实际情况创建角色:

- 这里为了简化操作就不新建角色了,而是创建一个管理员角色的账号boling_cavalry,操作如下图所示:

至此,Nexus3部署完毕,接下来验证Nexus能否提供jar缓存的功能;
准备两台电脑验证Nexus服务
接下来验证的是Nexus缓存中央仓库jar包的能力,看看有了Naxus,能否让我们在开发和构建过程中更快的下载到所需jar;
- 另外准备两台电脑,分别是A电脑和B电脑,用来验证刚刚部署的Nexus3可以缓存中央仓库的jar包(您也可以用虚拟机创建两台电脑);
- A、B两台电脑都已经装好了JDK8和Maven3;
- 如下图,在仓库列表页面,点击下图红框位置,可以得到maven-central仓库的地址http://192.168.50.75:8081/repository/maven-central/:

修改两台电脑的maven配置文件
电脑A和电脑B上的maven目录下的conf/settings.xml文件都要做以下修改:
- 找到servers节点,增加以下内容:
<server>
<id>maven-central</id>
<username>bolingcavalry</username>
<password>888888</password>
</server>
- 找到mirrors节点,增加以下内容,其中url的内容就是前面得到的maven-central仓库地址:
<mirror>
<id>maven-central</id>
<mirrorOf>*</mirrorOf>
<url>http://192.168.50.75:8081/repository/maven-central/</url>
</mirror>
在A电脑上编译构建项目(应该很慢)
在A电脑上编译开源项目spring-cloud-alibaba,此时Nexus上没有缓存任何jar包,所以编译速度会很慢,因为所有依赖jar都要从中央仓库下载,我们来试试:
- 登录A电脑,下载spring-cloud-alibaba的2.1.1.RELEASE归档包:
wget https://github.com/alibaba/spring-cloud-alibaba/archive/v2.1.1.RELEASE.tar.gz
- 解压下载的文件:
tar -zxvf v2.1.1.RELEASE.tar.gz
- 进入解压后的目录:
cd spring-cloud-alibaba-2.1.1.RELEASE/
- 编译:
mvn clean compile -U -DskipTests
- 编译完成,如下图红框所示,本次编译耗时9分27秒:

- 去Nexus网页上看看,如下图,此时已经缓存了不少jar:

在B电脑上编译构建项目(应该很快)
在B电脑上做同样的操作,此时Nexus上已经缓存了编译所需的jar包,所以整个编译过程应该明显变快,最终操作结果如下图所示,仅用了1分零6秒:

至此,Ubuntu上部署和体验Nexus3的实战就完成了,如果您正在寻求简单快捷的Nexus部署方案,希望本文能给您一些参考。
https://github.com/zq2599/blog_demos
Ubuntu部署和体验Nexus3的更多相关文章
- Jenkins流水线(pipeline)实战之:从部署到体验
关于Jenkins流水线(pipeline) Jenkins 流水线 (pipeline) 是一套插件,让Jenkins可以实现持续交付管道的落地和实施. 关于blueocean Blue Ocean ...
- Kurento实战之一:KMS部署和体验
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- Ubuntu部署python3.5的开发和运行环境
Ubuntu部署python3.5的开发和运行环境 1 概述 由于最近项目全部由python2.x转向 python3.x(使用目前最新的 python3.5.1) ,之前的云主机的的默认python ...
- 第一篇 UEditor入门部署和体验
UEditor 是由百度「FEX前端研发团队」开发的所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码. UEditor富文本编辑器,轻量, ...
- Ubuntu部署python3.7的开发和运行环境
Ubuntu部署python3.7的开发和运行环境 1 概述 由于最近项目全部由python2.x转向 python3.x(使用 python3.7.1) ,之前的云主机的的默认python版本都面临 ...
- Ubuntu 部署 nginx
Ubuntu 部署 nginx apt-get install nginx
- 阿里云Ubuntu部署java web - 文件夹
文件夹(点击章节标题阅读): 阿里云Ubuntu部署java web(1) - 系统配置 ssh链接server(使用终端远程链接) 加入用户 给用户赋予运 ...
- Ubuntu部署jmeter
一:ubuntu部署jdk 1:先下载jdk-8u74-linux-x64.tar.gz,上传到服务器,这里上传文件用到了ubuntu 下的 lrzsz. ubuntu下直接执行 sudo apt-g ...
- ubuntu部署django详细教程
教程使用的软件版本:Ubuntu 18.04.1 LTS,django2.0,Python 3.6.5.nginx-1.13.7.uWSGI (2.0.17.1),Ubuntu是纯净的,全新的.下面我 ...
随机推荐
- 初始化文章分类的方法 下拉的layui框
触发时机:页面加载完毕之后 实现步骤: 1.利用$.ajax()发起请求 (找接口文档) 2.在success成功回调里面获取服务器返回的数据,判断一下返回的success是否是0. 3.如果不是0, ...
- 一文教你读懂JVM类加载机制
Java运行程序又被称为WORA(Write Once Run Anywhere,在任何地方运行只需写入一次),意味着我们程序员小哥哥可以在任何一个系统上开发Java程序,但是却可以在所有系统上畅通运 ...
- Python数据清洗:提取爬虫文本中的电话号码
步骤索引 效果展示 注意事项 代码 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识. ...
- 小程序商城系统CRMEB Pro v1.1全新重构,新增DIY功能
CRMEB ProV1.1全新升级发布,真正实现了后台可自由拖拽组合实现首页布局的DIY功能,这一功能的实现,将告别过去千篇一律的同质化界面布局,真正实现个性化.高自由的随心组合.本次发布的版本中我们 ...
- jq cdn地址
百度CDN支持版本2.0.3, 2.0.2, 2.0.1, 2.0.0,1.11.1, 1.10.2, 1.10.1, 1.10.0, 1.9.1, 1.9.0, 1.8.3, 1.8.2, 1.8. ...
- 令人蛋疼的错误提示 0xcdcdcdcd ,0xdddddddd ,0xfeeefeee ,0xcccccccc ,0xabababab
原文地址:http://www.cnblogs.com/pcchinadreamfly/archive/2012/04/26/2471317.html参考地址:http://blog.csdn.net ...
- 【BZOJ3453】XLkxc
http://192.168.102.138/JudgeOnline/problem.php?id=3170 知识点:1.拉格朗日插值(多特殊函数相加) 2.这个式子看似非常复杂,然而只要明白这个式子 ...
- Agumater 爬虫进度带上了百分比,消除了.0
- 干Java这一行,应该怎样提升自己?
前段时间,字节跳动在阿里巴巴的大本营杭州悄悄的建立一个研发中心,最近在疯狂招人. 相信最近一段时间,杭州的很多的互联网公司的开发人员都接到过猎头的电话.据了解,字节跳动杭州研发中心主要负责字节跳动新增 ...
- 【API进阶之路】用API打造一条自动化内容生产流水线
摘要:搞定了内容审核之后,我又把抓取工具.内容审核API.文本摘要生成API串联在一起,从抓到审再到编,建立了一条自动化的内容生产流水线,编辑团队只需要做优质内容的推荐就可以了. 上周,运营部将官网上 ...