Files
Work-configuration-file/next/next安装.md
2025-11-24 23:21:19 +08:00

5.0 KiB
Raw Blame History

1、下载压缩包并解压

cd /data/
wget https://download.sonatype.com/nexus/3/nexus-3.86.2-01-linux-x86_64.tar.gz
tar -zxf nexus-3.86.2-01-linux-x86_64.tar.gz 
mv nexus-3.86.2-01-linux-x86_64 nexus

2、创建nexus用户、给权限、更改脚本使用nexus用户

useradd -M -r -s /bin/false nexus
chown -R nexus:nexus /data/nexus
cd /data/nexus
vim /data/nexus/bin/nexus
	# user to execute as; optional but recommended to set
	run_as_user='nexus'

3、创建systemctl

vim /etc/systemd/system/nexus.service

[Unit]
Description=Nexus Repository Manager
After=network.target

[Service]
Type=forking
LimitNOFILE=65536

User=nexus
Group=nexus

ExecStart=/data/nexus/bin/nexus start
ExecStop=/data/nexus/bin/nexus stop
Restart=on-abort

# JVM 内存你可根据机器调整 (默认 2G),在 nexus.vmoptions 修改,这里的路径要跟随实际解压出来的路径,或者是用本机的
Environment=JAVA_HOME=/data/nexus/jdk/temurin_17.0.13_11_linux_x86_64/jdk-17.0.13+11Environment=JAVA_HOME=/data/nexus/jdk
Environment=RUN_AS_USER=nexus

[Install]
WantedBy=multi-user.target

4、重载systemctl、启动、查看日志

systemctl daemon-reload
systemctl start nexus
systemctl status nexus -l    

# 日志
tail -f /data/sonatype-work/nexus3/log/nexus.log

# 如果报错执行5/data/nexus/bin/nexus: line 175: /data/sonatype-work/nexus3/nexus.pid: Permission denied

5、给工作目录权限

chown -R nexus:nexus /data/nexus
chown -R nexus:nexus /data/sonatype-work
chmod -R 755 /data/sonatype-work

# 重启查看
systemctl restart nexus
systemctl status nexus -l  

# 端口占用8081
ss -ntl | grep 8081

# 自启
systemctl enable nexus

6、账号密码

默认账号admin
密码cat /data/sonatype-work/nexus3/admin.password

扩展

# Nexus 3 有两个目录:程序目录 + 数据目录

NEXUS_HOME程序目录	存放程序文件、脚本、jar	/data/nexus/
NEXUS_DATA数据目录	存放仓库数据、配置、日志	/data/sonatype-work/nexus3/

/data/nexus/				  # 下载官方tar包解压后改名的目录
 ├── bin/                     # nexus 启动脚本
 ├── etc/                     # 配置文件
 ├── deploy/
 ├── jdk/
 ├── *.txt

/data/sonatype-work/nexus3/  # 所有仓库的数据(比如 Maven 私服上传的 artifacts都存这里
 ├── blobs/          		 # 仓库文件,所有上传的 jar 包都在这
 ├── db/              		 # 配置数据库
 ├── etc/             		 # 配置
 ├── log/             		 # 日志
 ├── cache/
 └── nexus.pid        		 # PID 文件

异常

查看日志报错:
tail -f /data/sonatype-work/nexus3/log/nexus.log
2025-11-21 12:06:34,120+0800 WARN  [Timer-0]  *SYSTEM java.util.prefs - Couldn't flush user prefs: java.util.prefs.BackingStoreException: Couldn't get file lock.
2025-11-21 12:06:38,968+0800 INFO  [qtp2016701496-114]  *UNKNOWN org.apache.shiro.session.mgt.AbstractValidatingSessionManager - Enabling session validation scheduler...
2025-11-21 12:06:38,985+0800 INFO  [qtp2016701496-114]  *UNKNOWN org.sonatype.nexus.internal.security.anonymous.AnonymousManagerImpl - Using default configuration: AnonymousConfigurationData{enabled=true, userId='anonymous', realmName='NexusAuthorizingRealm'}
2025-11-21 12:06:53,592+0800 INFO  [quartz-14-thread-4]  *TASK org.sonatype.nexus.quartz.internal.task.QuartzTaskInfo - Task 'Malicious Risk On Disk - Auto enable Health Check for proxy repositories on startup' [malicious-risk-on-disk-auto-enable-rhc] state change WAITING -> RUNNING
2025-11-21 12:06:53,594+0800 INFO  [quartz-14-thread-4]  *TASK com.sonatype.nexus.risk.riskondisk.MaliciousRiskOnDiskAutoEnableRHCTask - Starting malicious-risk-on-disk-auto-enable-rhc task
2025-11-21 12:06:53,594+0800 INFO  [quartz-14-thread-4]  *TASK com.sonatype.nexus.risk.riskondisk.MaliciousRiskOnDiskAutoEnableRHCTask - Found 2 proxy repositories
2025-11-21 12:06:53,673+0800 INFO  [quartz-14-thread-4]  *TASK com.sonatype.nexus.risk.riskondisk.MaliciousRiskOnDiskAutoEnableRHCTask - Completed malicious-risk-on-disk-auto-enable-rhc task
2025-11-21 12:06:53,674+0800 INFO  [quartz-14-thread-4]  *TASK org.sonatype.nexus.quartz.internal.task.QuartzTaskInfo - Task 'Malicious Risk On Disk - Auto enable Health Check for proxy repositories on startup' [malicious-risk-on-disk-auto-enable-rhc] state change RUNNING -> WAITING (OK)
2025-11-21 12:07:04,119+0800 WARN  [Timer-0]  *SYSTEM java.util.prefs - Could not lock User prefs.  Unix error code 2.
2025-11-21 12:07:04,119+0800 WARN  [Timer-0]  *SYSTEM java.util.prefs - Couldn't flush user prefs: java.util.prefs.BackingStoreException: Couldn't get file lock.

# 因为 Nexus 用 systemd 方式启动时Java 会尝试写入,~/.java/.userPrefs/,但 nexus 用户没有对应目录,或者目录不可写
# 创建的nexus的家目录并给权限
mkdir -p /home/nexus/.java/.userPrefs
chown -R nexus:nexus /home/nexus/.java
# 如果 nexus 用户没有 home
usermod -d /home/nexus nexus
# 重启 nexus 服务
systemctl restart nexus