1. 创建相关文件夹
mkdir -p /app/software
> # mkdir -p /app/software
- 以下操作使用 非root用户 执行
2.上传文件
2.1. 上传压缩包
- 将下列文件上传到 /app/software 文件夹中
- resources/Nexus/packages/nexus-*-unix.tar.gz
2.2. 创建相关文件夹
mkdir -p /app/service
> # mkdir -p /app/service
2.3. 安装 JDK
- 安装过 JDK 的服务器可以跳过这个步骤
- 未安装JDK的可以参考另一篇 Linux 环境下JDK1.8 安装 博文
2.4. 安装 Nexus
2.4.1. 解压 Nexus 安装包
tar -zxf /app/software/nexus-*-unix.tar.gz -C /app/service/
> $ tar -zxf /app/software/nexus-*-unix.tar.gz -C /app/service/
2.4.2. 修改 Nexus 配置文件(可选)
- 修改 Nexus 端口号
sed -i "s/application-port=8081/application-port=9000/g" /app/service/nexus-*/etc/nexus-default.properties
> $ sed -i "s/application-port=8081/application-port=9000/g" /app/service/nexus-*/etc/nexus-default.properties
- 修改 Nexus 上下文
sed -i "s/nexus-context-path=\//nexus-context-path=\/nexus/g" /app/service/nexus-*/etc/nexus-default.properties
> $ sed -i "s/nexus-context-path=\//nexus-context-path=\/nexus/g" /app/service/nexus-*/etc/nexus-default.properties
2.4.3. 启动 Nexus
/app/service/nexus-*/bin/nexus start
> $ /app/service/nexus-*/bin/nexus start
> Starting nexus
2.4.4. 检查 Nexus 进程
ps -ef | grep "/app/service/nexus" | grep -v "grep"
> $ ps -ef | grep "/app/service/nexus" | grep -v "grep"
> appuser 1745 1 80 14:16 pts/1 00:01:21 /app/midware/java/jdk_stable/bin/java -server -Dinstall4j.jvmDir=/app/midware/java/jdk_stable -Dexe4j.moduleName=/app/service/nexus-3.30.0-01/bin/nexus -XX:+UnlockDiagnosticVMOptions -Dinstall4j.launcherId=245 -Dinstall4j.swt=false -Di4jv=0 -Di4jv=0 -Di4jv=0 -Di4jv=0 -Di4jv=0 -Xms2703m -Xmx2703m -XX:MaxDirectMemorySize=2703m -XX:+UnlockDiagnosticVMOptions -XX:+LogVMOutput -XX:LogFile=../sonatype-work/nexus3/log/jvm.log -XX:-OmitStackTraceInFastThrow -Djava.net.preferIPv4Stack=true -Dkaraf.home=. -Dkaraf.base=. -Dkaraf.etc=etc/karaf -Djava.util.logging.config.file=etc/karaf/java.util.logging.properties -Dkaraf.data=../sonatype-work/nexus3 -Dkaraf.log=../sonatype-work/nexus3/log -Djava.io.tmpdir=../sonatype-work/nexus3/tmp -Dkaraf.startLocalConsole=false -Djdk.tls.ephemeralDHKeySize=2048 -Djava.endorsed.dirs=lib/endorsed -Di4j.vpt=true -classpath /app/service/nexus-3.30.0-01/.install4j/i4jruntime.jar:/app/service/nexus-3.30.0-01/lib/boot/nexus-main.jar:/app/service/nexus-3.30.0-01/lib/boot/activation-1.1.1.jar:/app/service/nexus-3.30.0-01/lib/boot/jakarta.xml.bind-api-2.3.3.jar:/app/service/nexus-3.30.0-01/lib/boot/jaxb-runtime-2.3.3.jar:/app/service/nexus-3.30.0-01/lib/boot/txw2-2.3.3.jar:/app/service/nexus-3.30.0-01/lib/boot/istack-commons-runtime-3.0.10.jar:/app/service/nexus-3.30.0-01/lib/boot/org.apache.karaf.main-4.2.9.jar:/app/service/nexus-3.30.0-01/lib/boot/osgi.core-6.0.0.jar:/app/service/nexus-3.30.0-01/lib/boot/org.apache.karaf.specs.activator-4.2.9.jar:/app/service/nexus-3.30.0-01/lib/boot/org.apache.karaf.diagnostic.boot-4.2.9.jar:/app/service/nexus-3.30.0-01/lib/boot/org.apache.karaf.jaas.boot-4.2.9.jar com.install4j.runtime.launcher.UnixLauncher start 9d17dc87 0 0 org.sonatype.nexus.karaf.NexusMain
2.4.5. 检查 Nexus 端口号
ss -tnl | grep 9000
> $ ss -tnl | grep 9000
> LISTEN 0 50 *:9000 *:*
3. Nexus 的使用
3.1. 登陆
- 登陆地址 ip:port/nexus
- 默认端口号为:8081 修改后的端口号为:9000
- 默认上下文为空 修改后的上下文为: /nexus
- 默认登陆用户名:admin 密码在 /app/service/sonatype-work/nexus3/admin.password 文件中
- Maven 访问私服默认地址: http://ip:port/nexus/repository/maven-public/
cat /app/service/sonatype-work/nexus3/admin.password
> $ cat /app/service/sonatype-work/nexus3/admin.password
> 9c3b311e-f89b-45c3-9734-87321d8d2cf4
3.2. 上传 jar 包
- windows 命令
- -u 后面是 Nexus 登录用户
- -p 后面是 Nexus 登录密码
- -r 后面是 Windows 本地需要上传的 maven 仓库路径
- http://192.168.1.201:9000/nexus/service/rest/v1/components?repository=maven-releases 这个是上下文为nexus的上传路径
- http://192.168.1.201:9000/service/rest/v1/components?repository=maven-releases 这个是没有上下文的上传路径
./nexus3-upload_1.0.0_windows_amd64.exe -u admin -p 123456 -r F:\STS\apache-maven-3.2.3-bin\my_maven_