Nexus【部署 01】CentOS 7.5 环境下搭建私有Maven仓库实录(启动问题处理+安装文件 nexus-3.4.0-02-unix.tar.gz 云盘链接)

简介: Nexus【部署 01】CentOS 7.5 环境下搭建私有Maven仓库实录(启动问题处理+安装文件 nexus-3.4.0-02-unix.tar.gz 云盘链接)

1. 为什么要搭建私有Maven仓库

废话少说,只说主要原因,我现在参与的项目各个模块都是以微服务形式进行部署的,包括权限验证模块,我之前参与过一个项目,使用的是自己封装的权限验证 starter 依赖,使用的时候引入依赖即可,前者要进行服务间的数据请求,显然是后者更好。

将 starter 打成 jar 包然后引入项目也是可行的,这样显然不够优雅(版本升级麻烦),另一种方式就是搭建一个内部的maven仓库,引入简单还能保证库的私密性。

2. 准备

首先是下载安装文件,官网 当前最新版是 nexus-3.35.0-02-unix.tar.gz 速度很慢 🐌 这里分享一下老版本 nexus-3.4.0-02-unix.tar.gz 以下内容也是根据此文件进行说明。

链接:https://pan.baidu.com/s/1S6JCDSbtnFreOHZfmj-F3Q

提取码:who9

需要Java运行环境,我当前使用的是OpenJDK11【有坑预警】:

[root@aliyun ~]# java -version
openjdk version "11" 2018-09-25
OpenJDK Runtime Environment 18.9 (build 11+28)
OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)

3. 安装、配置、启动

3.1 安装

# 解压安装文件
tar -zxvf nexus-3.4.0-02-unix.tar.gz
# 将解压出来的两个文件夹 移动到 /usr/local/nexus/ 下【位置随意】
mv ./nexus-3.4.0-02/ /usr/local/nexus/
mv ./sonatype-work/ /usr/local/sonatype-work/

3.2 配置

1️⃣ 配置环境变量的方法比较多,这里统一将环境变量放在 /etc/profile.d/my_env.sh 内:

# 配置环境变量:
vim /etc/profile.d/my_env.sh
# 添加 NEXUS_HOME 及 bin
export NEXUS_HOME=/usr/local/nexus
export PATH=$PATH:$NEXUS_HOME/bin
# 使得配置的环境变量立即生效:
  # 首先是要赋权限【只操作一次就行】
  chmod +x /etc/profile.d/my_env.sh
source /etc/profile.d/my_env.sh

2️⃣ 修改 $NEXUS_HOME/bin/nexus.rc 文件,将 run_as_user 配置放开,Nexus 跟很多 Linux 应用一样不推荐使用 root 用户,我们可以暂用:

# 释放并修改 run_as_user
vim /usr/local/nexus/bin/nexus.rc
  run_as_user="root"

3️⃣ 修改 $NEXUS_HOME/etc/nexus-default.properties 的 IP 和端口:

# 修改 nexus-default.properties 的 host 和 port
vim /usr/local/nexus/etc/nexus-default.properties 
  # Jetty section
  application-port=8087
  application-host=tcloud

4️⃣ 添加到系统服务:

ln -s $NEXUS_HOME/bin/nexus /etc/init.d/nexus

3.3 启动

# 后台启动
[root@aliyun ~]# service nexus start
No suitable Java Virtual Machine could be found on your system.
The version of the JVM must be at least 1.8 and at most 1.8.
Please define INSTALL4J_JAVA_HOME to point to a suitable JVM.
# 使用最新版本 nexus-3.35.0-02-unix.tar.gz 启动时依然报一下信息
[root@aliyun ~]# service nexus start
No suitable Java Virtual Machine could be found on your system.
The version of the JVM must be 1.8.
Please define INSTALL4J_JAVA_HOME to point to a suitable JVM.

The version of the JVM must be at least 1.8 and at most 1.8.这意思不就是要用 JDK1.8 嘛 😅 换用最新版本的 nexus-3.35.0-02-unix.tar.gz 启动时报:The version of the JVM must be 1.8. 实锤了,需要使用JDK1.8 😅

4. 换服务器重新安装配置启动

# 换另一台云服务器 JDK为1.8
[root@tcloud ~]# java -version
java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)

在新服务器上的安装过程跟前边的一样,这里省略了:

# 【再次启动】这次用前台启动 可以看日志
[root@tcloud ~]# service nexus run
WARNING: ************************************************************
WARNING: Detected execution as "root" user.  This is NOT recommended!
WARNING: ************************************************************
Starting nexus
# 省略部分日志信息【这样就是启动成功了】
-------------------------------------------------
Started Sonatype Nexus OSS 3.4.0-02
-------------------------------------------------

❗️❗️❗️【注意】

启动成功 后的运行日志文件为 /sonatype-work/nexus3/log/nexus.log

启动失败 的日志文件为 $NEXUS_HOME/nexus/hs_err_pidxxxx.log

5. 验证

默认端口是:8081,我修改成了8087,默认用户名是:admin,密码:admin123。登录前只可以查看仓库信息:

登录后才可以进行设置,比如添加代理源:

Browse 可以查看当前有多少仓库,搭建好的 Nexus,默认会带有一些maven仓库,一般使用这些仓库就足够了,当然了,我们为的不是这些,而是上传自己的依赖。

默认仓库说明【我们可以在设置->仓库里查看详情】:

  • maven-central:maven中央库,默认从 https://repo1.maven.org/maven2/ 拉取Jar包。
  • maven-releases:私库发行版Jar,初次安装请将Deployment policy设置为Allow redeploy。
  • maven-snapshots:私库快照(调试版本)Jar
  • maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置settings.xml 或项目 pom.xml 中使用。

仓库类型:

  • Group:这是一个仓库聚合的概念,用户仓库地址选择Group的地址,即可访问Group中配置的,用于方便开发人员自己设定的仓库。maven-public就是一个Group类型的仓库,内部设置了多个仓库,访问顺序取决于配置顺序,3.x默认Releases,Snapshots, Central,当然你也可以自己设置。
  • Hosted:私有仓库,内部项目的发布仓库,专门用来存储我们自己生成的Jar文件。
  • 3rd party:未发布到公网的第三方jar (3.x去除了)。
  • Snapshots:本地项目的快照仓库。
  • Releases: 本地项目发布的正式版本。
  • Proxy:代理类型,从远程中央仓库中寻找数据的仓库(可以点击对应的仓库的Configuration页签下Remote Storage属性的值即被代理的远程仓库的路径),如可配置阿里云maven仓库。
  • Central:中央仓库。
  • Apache Snapshots:Apache专用快照仓库(3.x去除了)。

6. 总结

Nexus 的安装配置并不复杂,随后会写如何使用,感谢支持~

目录
相关文章
|
监控 前端开发 Linux
centos7系统安装部署zabbix5.0
【9月更文挑战第23天】在CentOS 7系统上部署Zabbix 5.0的步骤包括:安装MariaDB数据库及必要软件包,配置Zabbix仓库,设置数据库并导入Zabbix数据库架构,配置Zabbix服务器与前端参数,启动相关服务,并通过浏览器访问Web界面完成安装向导。
1408 0
|
Java 应用服务中间件 Maven
在IntelliJ IDEA中如何配置使用Maven以创建Tomcat环境
所以,别担心这些工具看起来有些吓人,实际上这些都是为了帮助你更好的完成工作的工具,就像超市里的各种烹饪工具一样,尽管它们看起来可能很复杂,但只要你学会用,它们会为你烹饪出一道道美妙的食物。这就是学习新技能的乐趣,让我们一起享受这个过程,攀登知识的高峰!
780 27
|
12月前
|
Linux 应用服务中间件 nginx
在CentOS上部署Minikube教程
至此,您已成功在CentOS上部署并使用Minikube。您可以自由探索Kubernetes的世界,熟练配置和管理Kubernetes集群。
1024 20
|
Java 应用服务中间件 Apache
在IntelliJ IDEA中使用Maven配置Tomcat环境
此配置方法具有较高的实用性,简单易懂。遵循以上步骤,您将能顺利在IntelliJ IDEA中使用Maven配置Tomcat环境,从而进行Web项目的开发和调试。
1580 18
|
缓存 Linux 数据库
CentOS 8中 更新或下载时报错:为仓库 ‘appstream‘ 下载元数据失败 : Cannot prepare internal
通过以上步骤,您可以有效地解决 CentOS 8 中“为仓库 ‘appstream’ 下载元数据失败 : Cannot prepare internal”问题。关键在于检查网络连接、更新和切换仓库配置、清理缓存、重建 RPM 数据库以及在必要时临时禁用有问题的仓库。通过这些方法,可以确保系统能够正常进行软件包的更新和下载操作。
4015 20
|
Oracle 关系型数据库 MySQL
Centos7下图形化部署单点KFS同步工具并将Oracle增量同步到KES
Centos7下图形化部署单点KFS同步工具并将Oracle增量同步到KES
Centos7下图形化部署单点KFS同步工具并将Oracle增量同步到KES
|
存储 Kubernetes 负载均衡
CentOS 7.9二进制部署K8S 1.28.3+集群实战
本文详细介绍了在CentOS 7.9上通过二进制方式部署Kubernetes 1.28.3+集群的全过程,包括环境准备、组件安装、证书生成、高可用配置以及网络插件部署等关键步骤。
2790 4
CentOS 7.9二进制部署K8S 1.28.3+集群实战
|
Kubernetes Linux API
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
该博客文章详细介绍了在CentOS 7.6操作系统上使用kubeadm工具部署kubernetes 1.17.2版本的测试集群的过程,包括主机环境准备、安装Docker、配置kubelet、初始化集群、添加节点、部署网络插件以及配置k8s node节点管理api server服务器。
643 0
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
|
XML 安全 Java
【Maven】依赖管理,Maven仓库,Maven核心功能
【Maven】依赖管理,Maven仓库,Maven核心功能
2372 3
|
Java jenkins 持续交付
Centos7下docker的jenkins下载并配置jdk与maven
通过上述步骤,您将成功在CentOS 7上的Docker容器中部署了Jenkins,并配置好了JDK与Maven,为持续集成和自动化构建打下了坚实基础。
1303 1