linux配置部署nexus

一、前言

网上有很多nexus的搭建文章,但是看了好多要么比较老旧(2.x的),要么不详细,要么是摘抄的或是估计作者本人都没有实践过。之前没接触过这块的部署配置,这里特做个归纳和实践。(这里以nexus3.x为基础,结合2.x)

二、环境准备

1、JDK 1.8

若之前有残留需清理干净之前的rpm -a|grep java查找。Java Downloads | Oracle。配置环境变量,全局变量编辑profile文件。vim /etc/profile加入以下配置:

export JAVA_HOME=/usr/local/jdk1.8.0_221(jdk安装路径)

export PATH=$JAVA_HOME/bin:$PATH

验证配置:java -version

2、maven 3.X.X以上

maven环境变量,编辑linux的环境变量属性:vim /etc/profile

在末尾添加如下代码

export M2_HOME=/home/maven/apache-maven-3.3.9(安装目录)  

export path=export PATH=$PATH:$M2_HOME/bin

接着重新加载配置:source /etc/profile

验证配置:mvn -version

三、操作步骤

1、下载解压。

Download,解压 tar -zxvf nexus-x.xx.x-unix.tar.gz 。并规划目录(不建议安装并运行在用户目录)官网下了几次下不了(得翻墙),网上找的网盘资源。

敲黑板:

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,按提示重置密码。并设置好邮箱,方便密码找回。

  1. 设置更改blob stores(存储路径配置。可选,2.x叫defalut local storage location)

nexus3 使用了Blob Stores来保存仓库文件,创建仓库时使用,可自定义存储路径,也可使用默认default的路径./sonatype-work/nexus3/blobs

 2.创建仓库

添加设置代理仓库-阿里云maven2proxy)(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

4、内存配置bin/nexus.vmoptions

-Xmx和-Xms相等,且不超4G。EG:

-Xms2703M

-Xmx2703M

-XX:MaxDirectMemorySize=2703M

数据目录位置:

-Dkaraf.data=/opt/sonatype-work/nexus3

-Djava.io.tmpdir=/opt/sonatype-work/nexus3/tmpNexus 临时目录默认使用 java 虚拟机临时目录来存储重要的运行时文件。建议临时目录设置在 nexus 数据目录中的 $data-dir/tmp,同时满足nexus用户有此权限且磁盘空间大于1G

-XX:LogFile=/opt/sonatype-work/nexus3/log/jvm.log(日志默认就行)

2.x内存配置在/bin/jws/conf/wrapper.conf

# Size Java memory, in MB (-Xms)
#wrapper.java.initmemory=128
# Size Java memory, in MB (-Xmx)
#wrapper.java.maxmemory=256

2.x日志可在conf/logback.xml中配置(默认就行)

5、Nginx反向代理配置(可选)

6、maven配置setting.xml

略。网上很多详细的这里不重复了

踩的坑:

起初用nexus3.安装部署的,看来很多文章都说要开启远程索引下载,然后开始找啊找,找到了。在官网社区中发现nexus3后续的高版本不支持远程索引开启的配置,不知道为什么去除了,而且不少都是通过备份迁移或是通过先低版本后升级版本的方式弄的,感觉好麻烦,不知道改版的初衷是啥。

然后2.X版本部署试试。部署后开启下载远程索引,但不少代理仓库都报remote automatically blocked and unavailable,两方面入手:1)我是本地虚拟机部署的,vmware设置成桥接模式链接外网,而不是nat模式。2)网上的地址有的都不对,比如阿里云的代理仓库地址不少404不好使,后改成华为的就可以了

参考资料:

百度安全验证

Maven私服Nexus3.x环境构建操作记录 - 散尽浮华 - 博客园

Maven全局配置文件settings.xml详解 - 洪墨水 - 博客园

Nexus仓库构建 - 舒润 - 博客园

在 Linux 系统上安装 nexus 私库的相关理解和详细操作记录(主要依据官方文档)_SomeDay的专栏-CSDN博客_nexus.vmoptions

Installation Methods(官方文档)

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尹释玉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值