Linux搭建nexus仓库
安装nexus
1、下载解压。
https://help.sonatype.com/repomanager2/download
解压 tar -zxvf nexus-x.xx.x-unix.tar.gz 。并规划目录(不建议安装并运行在用户目录)官网下了几次下不了(得FQ),网上找的网盘资源。
敲黑板:
Nexus3.x的高版本不支持离线索引,可能涉及数据的迁移同步。
2、新建专用用户使用(官方建议)
adduser nexus。并在/etc/security/limits.conf下添加nexus - nofile 65536
在 bin/nexus.rc 指定专用用户,配置run_as_user="nexus"
赋予权限 chown nexus:nexus /xx/xx(安装目录,冒号前面用户名,后面组名)
2、修改配置
规划data、logs目录。详见四
3、启动验证。
bin目录下执行执行 ./nexux start 命令启动。脚本涵盖:./nexus {console | start | stop | restart | status | dump}
(3.X启动 nohup ./bin/nexus run > logs/nexus.log 2>&1 &)
后http://ip:port访问成功即可。
若启动成功,访问失败大概率是防火墙拦截导致,详见配置项四。
默认账号和密码:admin/admin123(3.X密码在data/admin.password)
4、登录配置
使用admin用户登录nexus,按提示重置密码。并设置好邮箱,方便密码找回。
设置更改blob stores(存储路径配置。可选,2.x叫defalut local storage location)
nexus3 使用了Blob Stores来保存仓库文件,创建仓库时使用,可自定义存储路径,也可使用默认default的路径./sonatype-work/nexus3/blobs
2.创建仓库
添加设置代理仓库-阿里云maven2(proxy)(https://maven.aliyun.com/repository/public)
或华为云仓库https://mirrors.huaweicloud.com/repository/maven/
3.添加 3rd-party 仓库(allowed redeploy)
4.添加设置宿主仓库release、snapshots(hosted自身项目用仓库,也可用默认自带的)
添加设置仓库组maven2(group),仓库组可用默认的maven-public(添加组成员release、snapshot、3rd party、阿里云、中央,因为按顺序遍历,所以远程的放后面,阿里云和华为云类似的要比其他代理的快,放其他远程前面)
6.创建角色 roles(可选,自定义化)
为项目创建项目应有权限的角色,与仓库绑定。添加用户时可绑定角色。2.x版本默认正常有admin(超管)、deployment(访问上传无配置,开发者用)、anonymous(游客)三个预定义用户,3.x有的没有deployment,没有则需要创建对应角色和用户比如叫developer。这时需要我们添加类似角色用于开发者使用。可设置通用的也可设置针对项目用户组的。
这里我添加针对项目组的权限,分配组内所有元素的权限,*包含add、browse、delete、edit、read以及游客权限。
各角色说明如下:
add:上传jar包权限
browse:浏览权限
delete:删除
edit:编辑
read:读取jar包详细信息
7.创建用户
添加项目组用户,并授予之前设置好的角色。
8、远程同步开启(3.x版本没有)
给所有proxy仓库开启远程索引下载。
点击左边Administration菜单下面的Repositories,找到右边仓库列表中的三个仓库Apache Snapshots,Codehaus Snapshots和Maven Central,然后再没有仓库的configuration下把Download Remote Indexes修改为true。然后在Apache Snapshots,Codehaus Snapshots和Maven Central这三个仓库上分别右键,选择Repari Index,这样Nexus就会去下载远程的索引文件。
四、配置项
1、nexus基本配置 config/nexus.properties(3.X在/etc/nexus-default.properties)
application-port=8080
application-host=127.0.0.1
nexus-context-path=/(或者加个nexus,上下文,影响访问路径)
2、开放防火墙 (如有需要)
执行命令如下
firewall-cmd --zone=public --add-port=8080/tcp --permanent
给zone为public的端口为8080的防火墙限制取消(permannet为永久)
然后配置重新载入firewall-cmd --reload
查看验证开启的端口firewall-cmd --list-ports
或者直接大招systemctl stop firewalld(慎用)
3、修改系统配置
修改RUN_AS_USER=用户名 (bin/nexus.rc)
修改JDK路径INSTALL4J_JAVA_HOME_OVERRIDE=jdk安装路径(bin/nexus,可选)
2.x是在/bin/jws/conf/wrapper.conf wrapper.java.command=/usr/local/java/jdk/jdk1.8.0_271/bin/java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY