nexus安装

这里直接使用Docker一键部署,具体文件路径可以自定义

1
2
3
4
5
6
7
8
9
10
docker run -d --restart=always -p 8081:8081 --name nexus -v /data/nexus:/nexus-data sonatype/nexus3

登录nexus
账号默认admin,密码查看配置文件,登录成功会提示修改密码
cat /data/nexus/admin.password
// 测试是否正常
[root@shanghai-dev-maven01 nexus]# curl -u admin:woxihuan123. http://localhost:8081/service/metrics/ping
pong

"上面的用户名和密码根据自己本机的用户名密码修改即可,得到pong响应即表示nexus3启动完成"

数据迁移恢复

参考连接1 参考链接2

数据备份

1
2
1、创建Task备份数据库,创建好以后时间可以推迟,然后点击手动备份,对应目录看到备份说明备份成功
Nexus Repository Manager --> System --> Tasks --> Create task --> "Admin - Export databases for backup"

数据恢复

1
2
3
4
1、删除目录 $data-dir/db中的component、config、security目录
2、将相应的数据库备份 .bak 文件复制到 $data-dir/restore-from-backup 进行恢复(注意:对于版本 3.10.0 或更早版本,恢复目录位置 $data-dir/backup)
3、重新启动 Nexus 存储库,并验证 Nexus 存储库是否正常运行
4、从restore-from-backup目录中删除.bak 文件

Nexus-解决文件上限问题-File Descriptors

nexus的文件打开数量上限 这里提示是目前上限4096

误区:

通过之前运维经验首先会想起是不是需要修改/etc/security/limits.conf 下的限制,之前看帖子也都是让修改这里,但是我修改后发现没有用,这是我的修改结果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
cat /etc/security/limits.conf
root hard nofile 102400
root soft memlock 3200000
root hard memlock 3200000
root soft msgqueue 8192000
root hard msgqueue 8192000
root - nofile 102400



* soft core unlimited
* hard core unlimited
* soft nproc 1000000
* hard nproc 1000000
* soft nofile 102400
* hard nofile 102400
* soft memlock 3200000
* hard memlock 3200000
* soft msgqueue 8192000
* hard msgqueue 8192000
* - nofile 102400

#其中 *代表普通用户,root代表root用户对资源的限制

通过 ulimit -n 命令进行查询发现修改的参数也对,但是我的nexus没有什么帮助,还是报错.

解决方案

最后通过修改这俩文件下的参数解决了此问题
/etc/systemd/user.conf
/etc/systemd/system.conf
针对这俩文件分别加入

1
DefaultLimitNOFILE=102400 #此参数修改应用程序的资源限制

总结

为什么会造成此类问题呢,因为limit文件中只限制用户的资源,而我的nexus是应用,解决应用的资源限制需要修改system.servic 文件或者修改这两个文件.