十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

29-Linux学习之旅之Nexus制品库部署

29-Linux学习之旅之Nexus制品库部署 Linux学习之旅之Nexus制品库部署一、前提环境上一篇文章26-Linux学习之旅之若依实现HTTPS24-Linux学习之旅之Ruoyi-Vue版部署(JAR包)新建/克隆一台虚拟机要求说明操作系统Rocky Linux 9Java 版本JDK 11内存建议 4GB 以上磁盘至少 50GB二、安装部署1、下载Java环境[rootNexus ~]# dnf install -y java-11-openjdk-headlessLast metadata expiration check:0:00:17 ago on Tue18Aug202609:16:49 PM EDT. Dependencies resolved........................ Complete![rootNexus ~]# java -versionopenjdk version11.0.252024-10-15 LTS OpenJDK Runtime Environment(Red_Hat-11.0.25.0.9-1)(build11.0.259-LTS)OpenJDK64-Bit Server VM(Red_Hat-11.0.25.0.9-1)(build11.0.259-LTS, mixed mode, sharing)2、安装Nexus[rootNexus ~]# cd /opt[rootNexus opt]# wget https://cdn.download.sonatype.com/repository/downloads-prod-group/3/nexus-3.93.2-01-linux-x86_64.tar.gz[rootNexus opt]# lsnexus-3.93.2-01-linux-x86_64.tar.gz[rootNexus opt]# tar xf nexus-3.93.2-01-linux-x86_64.tar.gz[rootNexus opt]# lsnexus-3.93.2-01 nexus-3.93.2-01-linux-x86_64.tar.gz sonatype-work[rootNexus opt]# mv nexus-3.93.2-01 nexus[rootNexus opt]#3、创建systemd启动文件[rootNexus opt]# cat /etc/systemd/system/nexus.service EOF[Unit]DescriptionNexus Repository ManagerAfternetwork.target[Service]TypeforkingUserrootGrouprootExecStart/opt/nexus/bin/nexus startExecStop/opt/nexus/bin/nexus stopRestarton-abortLimitNOFILE65536[Install]WantedBymulti-user.target EOF4、重新加载systemd管理文件[rootNexus opt]# systemctl daemon-reload[rootNexus opt]# systemctl enable nexus --nowCreated symlink /etc/systemd/system/multi-user.target.wants/nexus.service → /etc/systemd/system/nexus.service.5、查看服务状态[rootNexus opt]# systemctl status nexus● nexus.service - Nexus Repository Manager Loaded: loaded(/etc/systemd/system/nexus.service;enabled;preset: disabled)Active: active(running)since Wed2026-08-19 00:22:14 EDT;4s ago Process:3317ExecStart/opt/nexus/bin/nexus start(codeexited,status0/SUCCESS)Main PID:3564(java)Tasks:19(limit:4388)Memory:152.0M(peak:152.2M)CPU:7.650s CGroup: /system.slice/nexus.service └─3564 /opt/nexus/jdk/temurin_21.0.11_10_linux_x86_64/jdk-21.0.1110/bin/java-server-Dnexus.installer.typelinux-x86-64-Xms2703m-Aug1900:22:13 Nexus systemd[1]: Starting Nexus Repository Manager... Aug1900:22:13 Nexus nexus[3317]: WARNING: ************************************************************ Aug1900:22:13 Nexus nexus[3317]: WARNING: Detected execution asrootuser. This is NOT recommended!Aug1900:22:13 Nexus nexus[3317]: WARNING: ************************************************************ Aug1900:22:14 Nexus nexus[3317]: Starting nexus Aug1900:22:14 Nexus systemd[1]: Started Nexus Repository Manager.[rootNexus opt]# netstat -tnlp | grep 8081tcp600:::8081 :::* LISTEN3564/java6、查看初始密码[rootNexus opt]# cat /opt/sonatype-work/nexus3/admin.password7、登录验证访问地址http://服务器IP:8081 用户名admin 密码上一步查到的初始密码 首次登录会提示修改密码。三、创建 Maven 私有仓库1、创建 Blob Store存储空间步骤操作①登录 Nexus → Settings②进入Repository → Blob Stores③点击Create blob store④类型选择File⑤名称输入ruoyi-storage⑥点击Create2、创建宿主仓库Hosted Repository配置项推荐值Nameruoyi-releasesVersion policyReleaseDeployment policyAllow redeployBlob storeruoyi-storage3、创建代理仓库Proxy Repository配置项推荐值Namemaven-central-proxyRemote storagehttps://repo.maven.apache.org/maven2/4、创建仓库组Group Repository默认有一个仓库组可以使用配置项推荐值Namemaven-publicMember repositoriesruoyi-releasesmaven-central-proxy四、开发与运维如何使用 Nexus1、开发人员上传制品到 Nexus配置 Maven settings.xml[rootruoyi-java01 ~]# vim ~/.m2/settings.xml[rootruoyi-java01 ~]# cat ~/.m2/settings.xmlsettingsserversserveridruoyi-releases/idusernameadmin/usernamepasswordXyx123456/password/server/serversmirrorsmirroridnexus/idnameNexus Mirror/nameurlhttp://10.0.0.5:8081/repository/maven-public///urlmirrorOf*/mirrorOf/mirror/mirrors/settings修改若依项目的 pom.xml[rootruoyi-java01 ~]# cd RuoYi-Vue/[rootruoyi-java01 RuoYi-Vue]# lsbin doc LICENSE pom.xml README.md ruoyi-admin ruoyi-common ruoyi-framework ruoyi-generator ruoyi-quartz ruoyi-system ry.bat ry.sh sql[rootruoyi-java01 RuoYi-Vue]# vim pom.xml[rootruoyi-java01 RuoYi-Vue]# cat pom.xml?xmlversion1.0encodingUTF-8?projectxmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.ruoyi/groupIdartifactIdruoyi/artifactIdversion3.9.2/version#添加一下内容distributionManagementrepositoryidruoyi-releases/idurlhttp://10.0.0.5:8081/repository/ruoyi-releases//url/repository/distributionManagement#添加以上内容nameruoyi/name构建并上传[rootruoyi-java01 RuoYi-Vue]# mvn clean deploy -DskipTests -U[INFO]Scanningforprojects... Downloading from nexus: http://10.0.0.5:8081/repository/maven-public//org/springframework/boot/spring-boot-dependencies/4.1.0/spring-boot-dependencies-4..0.pom.................[INFO]------------------------------------------------------------------------[INFO]Reactor Summaryforruoyi3.9.2:[INFO][INFO]ruoyi..............................................SUCCESS[18.332s][INFO]ruoyi-common....................................... SUCCESS[01:38 min][INFO]ruoyi-system....................................... SUCCESS[5.971s][INFO]ruoyi-framework....................................SUCCESS[23.787s][INFO]ruoyi-quartz....................................... SUCCESS[3.028s][INFO]ruoyi-generator....................................SUCCESS[3.949s][INFO]ruoyi-admin........................................SUCCESS[40.450s][INFO]------------------------------------------------------------------------[INFO]BUILD SUCCESS[INFO]------------------------------------------------------------------------[INFO]Total time: 03:34 min[INFO]Finished at:2026-08-19T01:18:07-04:00[INFO]------------------------------------------------------------------------验证是否成功2、运维人员从 Nexus 获取制品并部署下载方式#浏览器下载#wget下载#验证图片第五点右键复制链接[rootruoyi-java02 ~]# wget http://10.0.0.5:8081/repository/ruoyi-releases/com/ruoyi/ruoyi-admin/3.9.2/ruoyi-admin-3.9.2.jar--2026-08-19 01:34:02-- http://10.0.0.5:8081/repository/ruoyi-releases/com/ruoyi/ruoyi-admin/3.9.2/ruoyi-admin-3.9.2.jar Connecting to10.0.0.5:8081... connected. HTTP request sent, awaiting response...200OK Length:91688731(87M)[application/java-archive]Saving to: ‘ruoyi-admin-3.9.2.jar’ ruoyi-admin-3.9.2.jar100%[]87.44M16.9MB/sin4.7s2026-08-19 01:34:07(18.8MB/s)- ‘ruoyi-admin-3.9.2.jar’ saved[91688731/91688731]#wget认证下载[rootruoyi-java02 ~]# wget --useradmin --passwordXyx123456 http://10.0.0.5:8081/repository/ruoyi-releases/com/ruoyi/ruoyi-admin/3.9.2/ruoyi-admin-3.9.2.jar--2026-08-19 01:34:34-- http://10.0.0.5:8081/repository/ruoyi-releases/com/ruoyi/ruoyi-admin/3.9.2/ruoyi-admin-3.9.2.jar Connecting to10.0.0.5:8081... connected. HTTP request sent, awaiting response...200OK Length:91688731(87M)[application/java-archive]Saving to: ‘ruoyi-admin-3.9.2.jar.1’ ruoyi-admin-3.9.2.jar.1100%[]87.44M37.9MB/sin2.3s2026-08-19 01:34:36(37.9MB/s)- ‘ruoyi-admin-3.9.2.jar.1’ saved[91688731/91688731]#curl下载[rootruoyi-java02 ~]# curl -u admin:Xyx123456 http://10.0.0.5:8081/repository/ruoyi-releases/com/ruoyi/ruoyi-admin/3.9.2/ruoyi-admin-3.9.2.jar Warning: Binary output can mess up your terminal. Use --output - to tellWarning:curlto output it to your terminal anyway, or consider--output Warning: FILEto save to a file.[rootruoyi-java02 ~]# curl -u admin:Xyx123456 -O http://10.0.0.5:8081/repository/ruoyi-releases/com/ruoyi/ruoyi-admin/3.9.2/ruoyi-admin-3.9.2.jar% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed10087.4M10087.4M0057.3M00:00:010:00:01 --:--:--57.3M[rootruoyi-java02 ~]#部署到生产环境#移动覆盖[rootruoyi-java02 ~]# mv ruoyi-admin-3.9.2.jar /opt/ruoyi-vue/app/ruoyi-admin.jarmv: overwrite/opt/ruoyi-vue/app/ruoyi-admin.jar?yes#重启查看状态[rootruoyi-java02 ~]# systemctl restart ruoyi-vue.service[rootruoyi-java02 ~]# systemctl status ruoyi-vue.serviceActive: active(running)since Wed2026-08-19 01:37:21 EDT;7s ago3、其他问题#Java 版本不兼容Error: LinkageError occurredwhileloading main class... java.lang.UnsupportedClassVersionError:... classfileversion61.0, this version... only recognizes classfileversions up to55.0# 安装 Java 17dnfinstall-yjava-17-openjdk-headless# 切换默认版本alternatives--configjava# 验证java-version#Java 版本不兼容Error: LinkageError occurredwhileloading main class... java.lang.UnsupportedClassVersionError:... classfileversion61.0, this version... only recognizes classfileversions up to55.0# 安装 Java 17dnfinstall-yjava-17-openjdk-headless# 切换默认版本alternatives--configjava# 验证java-version
返回列表