Nexus-Linux安装部署完整教程
Linux 下 Nexus 安装部署完整教程
兄弟们,今儿咱来盘一盘在 Linux 系统上咋安装部署 Nexus。Nexus 这玩意儿可是个超实用的开源仓库管理工具,在开发中管理 Maven、npm、Docker 镜像等各种组件都得靠它。不管你是搭建私有仓库,还是想优化项目的依赖管理,学会安装部署 Nexus 都是必备技能。话不多说,开整!
一、安装前的准备工作
(一)环境要求
操作系统:咱得用 Linux 系统,像 CentOS 7 + 或者 Ubuntu 18 + 都成。这俩系统在服务器领域用得贼多,稳定性和兼容性都不错,很适合跑 Nexus。
Java 环境:Nexus 是基于 Java 开发的,所以得先装 Java 环境。注意,Nexus 2 版本用 JDK 7 就行,要是咱用 Nexus 3,那就得安排 JDK 8 及以上版本了。不清楚咋装 JDK 的兄弟,网上教程一搜一大把,跟着操作就行。
内存和 CPU:Nexus 运行起来还是挺耗资源的,官方建议服务器至少得有 4 个 CPU 核心,内存最好 8GB 起步。要是资源不够,Nexus 跑起来可能就不太顺畅,甚至可能报错。咱可以用
cat /proc/cpuinfo
命令瞅瞅 CPU 核心数,用free -h
命令看看内存情况。网络:确保服务器的防火墙开放了 Nexus 要用的端口,默认是 8081 端口。要是端口被防火墙拦住了,咱在浏览器里就访问不了 Nexus 的 Web 界面。
(二)下载 Nexus 安装包
官网下载:最正规的下载方式肯定是去 Nexus 官网啦,地址是Download Archives - Repository Manager 3 。在这儿能找到各个版本的资源,要注意的是,官网是外网,有时候不翻墙可能下载不了,这就有点尴尬了。
网盘下载:要是官网下不了,咱还有亲民的办法,就是去网盘找大佬分享的资源。比如百度云盘,就有人分享了 Nexus 的安装包,像文件名
nexus - 3.25.1 - 04 - unix.tar.gz
,文件大小 156M 左右,链接:https://pan.baidu.com/s/1KzzpfA67En_nb59KQ7efEw,提取码:0000 。不过这种方式资源有限,可能选不了自己想要的版本。在 CSDN 上也有不少大佬上传了相关资源,有积分的兄弟也可以去那儿下载。
二、安装 Nexus
(一)上传安装包到服务器
咱把下载好的 Nexus 压缩包通过rz
命令或者其他文件传输工具,上传到 Linux 服务器上。比如,咱可以先在服务器上创建个/home/soft/nexus
目录,专门用来放 Nexus 相关文件,然后把压缩包传进去。
(二)解压安装包
上传完就该解压了,进入压缩包所在目录,执行解压命令:
1 | tar -zxvf nexus - 3.25.1 - 04 - unix.tar.gz |
解压完会得到两个文件夹:nexus - 3.25.1 - 04
和sonatype - work
。nexus - 3.25.1 - 04
这个文件夹是用来实现 Nexus 功能的,里面有各种执行文件和配置文件;sonatype - work
文件夹则是用来存储数据的,像仓库里存的各种组件、配置信息啥的都在这儿。
(三)启动 Nexus
- start 命令启动(后台进程形式):进入
/home/soft/nexus/nexus-3.25.1-04/bin
目录,能看到nexus
文件,这就是 Nexus 服务的脚本文件。咱用start
命令以后台进程形式启动 Nexus,不占用当前命令终端窗口,命令如下:
1 | ./nexus start |
启动可能得等一会儿,咱可以用浏览器访问linux服务器ip:8081
来验证服务启动没。要是启动成功,就能看到 Nexus 的登录页面了。
- run 命令启动(当前进程形式):还是在
/home/soft/nexus/nexus-3.25.1-04/bin
目录下,用run
命令以当前进程形式启动 Nexus,命令如下:
1 | ./nexus run |
这种方式启动后,日志会直接打印在控制台,等看到类似Started Sonatype Nexus
的信息,就说明启动成功了。不过这种方式会占用当前命令终端窗口,不太方便,所以推荐用start
命令启动。
(四)开放端口
Nexus 默认用 8081 端口,咱得把这个端口在服务器的防火墙里开放了,不然外部访问不了。以 CentOS 系统为例,操作如下:
- 先查看所有开放的端口号,首次执行这操作得输入当前用户密码:
1 | sudo firewall - cmd -- zone = public -- list - ports |
- 开放 8081 端口:
1 | sudo firewall - cmd -- zone = public -- add - port = 8081/tcp -- permanent |
- 重启防火墙服务,让配置生效:
1 | sudo firewall - cmd -- reload |
再查看开放端口号,能看到 8081 端口已经在列表里了,这就说明开放成功。
三、登录并初始化 Nexus
(一)登录
在浏览器地址栏输入http://linux服务器ip:8081
,就能打开 Nexus 的 Web 端首页。有些 Nexus 版本有默认账号admin
和密码admin123
,要是登录失败,咱就得去sonatype - work/nexus3
目录下的admin.password
文件里查看初始化密码。在 Linux 命令终端执行:
1 | # 进入admin.password文件所在目录 |
文件第一行显示的就是密码,用这个密码登录就行。
(二)重置密码
登录成功后,会提示咱重置密码,按要求设置个新密码,得记好,以后登录就用新密码了。
(三)配置匿名访问(可选)
要是想让没登录的用户也能访问 Nexus 仓库里的一些公开资源,可以配置匿名访问。在 Nexus 的 Web 界面里,找到相关配置项,一般在Security
-> Anonymous
里,把Enable Anonymous Access
勾选上就行。不过这操作得谨慎,要是仓库里有敏感数据,可别开匿名访问,不然数据就泄露了。
四、Nexus 常见配置与使用
(一)修改 Nexus 端口
要是 8081 端口被占用,咱可以改 Nexus 的端口。在sonatype - work/nexus3/etc
目录下找到nexus.properties
配置文件,把application - port
配置项改成咱想要的端口号,比如application - port = 8082
,保存文件,然后重启 Nexus 服务,新端口就生效了。
(二)创建仓库
Nexus 里仓库类型挺多,像代理仓库(proxy)、宿主仓库(hosted)、仓库组(group)啥的。咱一般开发常用的是 Maven 仓库,创建步骤如下:
在 Nexus 的 Web 界面里,点击主页上面的小螺丝图标,然后选择
Repositories
进入仓库管理列表。点击
Create repository
按钮创建仓库,选择仓库类型的时候选maven2
。创建代理仓库(proxy):比如咱想用阿里的中央仓库做代理,在配置页面的
Remote Storage Location
属性里填https://maven.aliyun.com/repository/central
,其他配置项按默认就行,填好后点击Create
按钮创建。创建宿主仓库(hosted):可以创建
releases
和snapshot
类型的仓库。在配置页面,Repository Policy
属性选Release
或者Snapshot
,Allow redeploy
属性一般默认勾选,然后点击Create
按钮创建。创建仓库组(group):仓库组就是把多个仓库组合在一起对外提供服务。在配置页面,把之前创建的代理仓库和宿主仓库添加到
Members
列表里,然后点击Create
按钮创建。
(三)配置 Maven 使用 Nexus 仓库
找到 Maven 的
settings.xml
文件,一般在~/.m2/
目录下。要是没有这个文件,自己创建一个。编辑
settings.xml
文件,添加如下配置:
1 | <profiles> |
这里的http://linux服务器ip:8081/repository/maven - public/
得改成你自己 Nexus 服务器的地址和仓库组路径。改好保存后,Maven 就会从你配置的 Nexus 仓库里下载依赖了。
五、常见问题及解决办法
(一)启动报错
Java 环境问题:要是启动 Nexus 报错说找不到 Java 环境,或者提示 Java 版本不兼容,那肯定得检查下 Java 环境配置对不对。看看
JAVA_HOME
环境变量设置了没,值是不是指向正确的 JDK 安装目录。权限问题:用
root
用户启动 Nexus 有时候会报错,提示Detected execution as “root” user. This is NOT recommended!
。解决办法是找到bin
目录下的nexus
文件,用vi
编辑,把run_as_root = true
改成run_as_root = false
,然后再启动就行。
(二)无法访问 Web 界面
端口问题:要是在浏览器里访问
http://linux服务器ip:8081
打不开页面,先检查下服务器防火墙是不是开放了 8081 端口,用telnet linux服务器ip 8081
命令测试下端口通不通。要是端口被占用,就得改 Nexus 的端口或者把占用端口的进程干掉。网络问题:检查下服务器网络是不是正常,能不能 ping 通外网。要是网络有问题,Nexus 可能没法从远程仓库拉取数据,也会影响 Web 界面访问。
(三)依赖下载失败
仓库配置问题:要是 Maven 从 Nexus 仓库下载依赖失败,先检查下
settings.xml
文件里 Nexus 仓库的配置对不对,地址、端口啥的有没有写错。再看看 Nexus 里对应的仓库是不是正常,有没有配置好远程仓库地址。网络问题:和上面一样,网络不稳定或者被限制,Nexus 就没法从远程仓库拉取依赖,自然下载就失败了。这种情况就得排查网络问题,或者联系网络管理员解决。
六、总结
兄弟们,到这儿咱就把 Linux 下 Nexus 的安装部署、常见配置和使用,以及常见问题解决办法都唠完了。
Nexus 这工具在项目开发里用处可大了,能帮咱高效管理依赖,提升开发效率。
学会了安装部署,后续还得琢磨咋优化仓库配置、提升性能啥的,这都是进阶操作了。
要是在安装部署过程中遇到啥问题,别慌,按照教程一步步排查,或者在评论区留言,咱一起琢磨琢磨。
祝大家都能顺顺利利把 Nexus 跑起来!