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 的安装配置并不复杂,随后会写如何使用,感谢支持~

目录
相关文章
|
3月前
|
Linux 编译器 开发工具
在CentOS环境下升级GCC编译器的指南
总结:本文提供了一种方法来升级CentOS的GCC编译器,通过使用CentOS的软件集合和开发者工具集工具,可以比较平滑地进行升级。在整个过程中无需从源代码编译,这样既省去了复杂的编译过程,也避免了可能出现的与系统库不兼容的风险。请注意,使用第三方仓库可能会带来系统稳定性和安全性上的潜在影响。所有操作都应谨慎进行,并确保有相应的数据备份。
463 19
|
5月前
|
Java 应用服务中间件 Maven
在IntelliJ IDEA中如何配置使用Maven以创建Tomcat环境
所以,别担心这些工具看起来有些吓人,实际上这些都是为了帮助你更好的完成工作的工具,就像超市里的各种烹饪工具一样,尽管它们看起来可能很复杂,但只要你学会用,它们会为你烹饪出一道道美妙的食物。这就是学习新技能的乐趣,让我们一起享受这个过程,攀登知识的高峰!
327 27
|
5月前
|
Java 应用服务中间件 Apache
在IntelliJ IDEA中使用Maven配置Tomcat环境
此配置方法具有较高的实用性,简单易懂。遵循以上步骤,您将能顺利在IntelliJ IDEA中使用Maven配置Tomcat环境,从而进行Web项目的开发和调试。
478 18
|
敏捷开发 Java 持续交付
阿里云云效产品使用合集之maven仓库是否可以代替自建的Nexus
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
9月前
|
网络协议 Java 应用服务中间件
centos7环境下tomcat8的安装与配置
本文介绍了在Linux环境下安装和配置Tomcat 8的详细步骤。首先,通过无网络条件下的文件交互软件(如Xftp 6或MobaXterm)下载并解压Tomcat安装包至指定路径,启动Tomcat服务并测试访问。接着,修改Tomcat端口号以避免冲突,并部署Java Web应用项目至Tomcat服务器。最后,调整Linux防火墙规则,确保外部可以正常访问部署的应用。关键步骤包括关闭或配置防火墙、添加必要的端口规则,确保Tomcat服务稳定运行。
|
12月前
|
Web App开发 搜索推荐 Unix
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
【10月更文挑战第21天】Linux系统之MobaXterm远程连接centos的GNOME桌面环境
1899 5
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
|
12月前
|
NoSQL 数据可视化 Linux
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
本文介绍了Redis的两个可视化管理工具:付费的Redis Desktop Manager和免费的Another Redis DeskTop Manager,包括它们的下载、安装和使用方法,以及在使用Another Redis DeskTop Manager连接Redis时可能遇到的问题和解决方案。
1329 1
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
|
Kubernetes Linux Docker
在centos7上搭建k8s环境
在centos7上搭建k8s环境
|
12月前
|
安全 Linux 数据库连接
CentOS 7环境下DM8数据库的安装与配置
【10月更文挑战第16天】本文介绍了在 CentOS 7 环境下安装与配置达梦数据库(DM8)的详细步骤,包括安装前准备、创建安装用户、上传安装文件、解压并运行安装程序、初始化数据库实例、配置环境变量、启动数据库服务、配置数据库连接和参数、备份与恢复、以及安装后的安全设置、性能优化和定期维护等内容。通过这些步骤,可以顺利完成 DM8 的安装与配置。
1201 0
|
关系型数据库 MySQL Linux
Linux(CentOS7)搭建LAMP服务环境
本文介绍了在Linux (CentOS 7) 上搭建LAMP服务环境的详细步骤,包括安装Apache HTTPd、解决编译时依赖问题、配置Apache服务、安装PHP以及处理PHP与Apache集成时遇到的问题。同时,还涉及了防火墙设置和SELinux权限调整,确保Web服务能够正常运行。
277 2