DevOps / Nexus / 系统运维

Nexus安装与配置教程

浅时光 · 3月23日 · 2020年 14577次已读

一、Nexus介绍

Nexus是Maven仓库管理器,也可以叫Maven的私服。Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus你可以只在一个地方就能够完全控制访问和部署在你所维护仓库中的每个Artifact。Nexus是一套“开箱即用”的系统不需要数据库,它使用文件系统加Lucene来组织数据。

Nexus不是Maven的核心概念,它仅仅是一种衍生出来的特殊的Maven仓库。对于Maven来说,仓库只有两种:本地仓库和远程仓库。

Nexus Repository 是以 Java 和 JavaScript 为主,实现的一个包含前端与后台的 Web 服务。 后台方面,它采用 Jetty 作为应用服务器、Karaf 作为 OSGi 容器、OrientDB 作为数据库。 前端方面,它使用Swagger UI 作为框架,是一个单页面 Web App。

另外,它也通过 Resteasy 支持 REST API,可以通过网络进行访问控制。 并且,自行实现了一个插件系统,用插件的方式支持了更多复杂的功能。 比如,Maven、PyPI文章来源(Source):https://www.dqzboy.com、Docker 这些支持,都是由插件实现的。 如果希望支持其它方式的代理、缓存、发布,比如 APT,也可以通过插件定制。

二、Nexus下载

官网地址:https://www.sonatype.com/

下载地址:https:文章来源(Source):https://www.dqzboy.com//help.sonatype.com/repomanager3/download

Nexus安装与配置教程-浅时光博客
  • 同时我们也需要安装JDK,点击这里下载Oracle JDK
  • 如果Nexus下载不下来,请通过我提供的网盘地址进行下载,版本为3.21.1文章来源(Source):https://www.dqzboy.com

三、Nexus安装

1、安装JDK

文章来源(Source):https://www.dqzboy.com
[[email protected] ~]# mkdir -p /opt/soft/	#存储软件包
[[email protected] ~]# cd /opt/soft/

#安装JDK
[[email protected] soft]# rpm -ivh jdk-8u231-linux-x64.rpm

2、安装Nexus

文章来源(Source):https://www.dqzboy.com
[[email protected] soft]# mkdir /usr/local/nexus
[[email protected] soft]# tar -zxvf latest-unix.tar.gz -C /usr/local/nexus/

3、启动Nexus

[[email protected] soft]# cd /usr/local/nexus/
  • 解压后会有2个文件夹第一个文件夹是核心文件,第二个文件夹用来存储下载下来的jar
Nexus安装与配置教程-浅时光博客
文章来源(Source):https://www.dqzboy.com
  • 修改端口,默认端口为8081
[[email protected] nexus]# cd nexus-3.21.1-01/
[[email protected] nexus-3.21.1-01]# cd etc/
[[email protected] etc]# vim nexus-default.properties
Nexus安装与配置教程-浅时光博客
  • 启动服务
[[email protected] etc]# cd ../bin/ 
[[email protected] bin]# ./nexus start
Nexus安装与配置教程-浅时光博客
  • 启动比较慢;如果启动失败请查看日志
    • /usr/local/nexus/sonatype-work/nexus3/log/nexus.log
Nexus安装与配置教程-浅时光博客

4、配置防火墙

  • 默认访问端口8081,上面已经改成了8090,这里防火墙需要放通8090端口
[[email protected] bin]# lsof -i:8090
[[email protected] bin]# firewall-cmd --permanent --zone=public --add-port=8090/tcp
[[email protected] bin]# firewall-cmd –reload

5、访问Nexus

Nexus安装与配置教程-浅时光博客
Nexus安装与配置教程-浅时光博客
  • 至此Nexus已经安装部署完成

6、设置系统服务

  • 现在我们将Nexus服务由Systemd文章来源(Source):https://www.dqzboy.com进行管理
[[email protected] ~]# cd /etc/systemd/system
[[email protected] system]# vim nexus.service
[Unit]
Description=nexus service
After=network.target

[Service]
Type=forking
LimitNOFILE=65536
ExecStart=/usr/local/nexus/nexus-3.21.1-01/bin/nexus start
ExecStop=/usr/local/nexus/nexus-3.21.1-01/bin/nexus stop
User=root
Restart=on-abort

[Install]
WantedBy=multi-user.target
  • 停止命令行启动的Nexus,通过systemd启动
[[email protected] system]# /usr/local/nexus/nexus-3.21.1-01/bin/nexus stop
  • 通过systemd启动
[[email protected] system]# systemctl daemon-reload
[[email protected] system]# systemctl start nexus
[[email protected] system]# systemctl enable nexus
[[email protected] system]# systemctl status nexus
  • 等待一会Nexus完全启动后,浏览器查看Nexus访问页面

四、Docker环境部署Nexus

  • 上面通过传统方式安装的nexus,先停止
[[email protected] ~]# systemctl stop nexus
[[email protected] ~]# systemctl disable nexus

1、安装Docker

[[email protected] ~]# wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

[[email protected] ~]# vim /etc/yum.repos.d/docker-ce.repo
%[email protected]://download.docker.com/@https://mirrors.tuna.tsinghua.edu.cn/docker-ce/@

[[email protected] ~]# yum repolist
[[email protected] ~]# yum -y install docker-ce
[[email protected] ~]# docker –version
Docker version 19.03.8, build afacb8b
文章来源(Source):https://www.dqzboy.com

2、配置镜像加速

[[email protected] ~]# mkdir /etc/docker
[[email protected] ~]# vim /etc/docker/daemon.json
{
  "registry-mirrors": ["https://9p593175.mirror.aliyuncs.com"]
}

3、启动Docker

[[email protected] ~]# systemctl start docker
[[email protected] ~]# systemctl enable docker
[[email protected] ~]# systemctl status docker

4、安装Docker-compose

[[email protected] ~]# curl -L https://github.com/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

[[email protected] ~]# chmod +x /usr/local/bin/docker-compose
[[email protected] ~]# docker-compose -version
docker-compose version 1.25.4, build 8d51620a

5、通过docker-compose启动nexus容器

5.1:创建yaml文件

#创建docker-compose.yaml文件
[[email protected] ~]# mkdir /usr/local/docker
[[email protected] ~]# cd /usr/local/docker
[[email protected] docker]# vi docker-compose.yaml
version: "2"
services:
  nexus:
    restart: "no" 
    image: sonatype/nexus3
    container_name: nexus
    ports:
      - 8090:8081
    volumes:
      - /usr/local/nexus:/nexus-data

#注意:yaml文件缩进必须用空格

参数说明:

  • version: 指定docker-compose语法版本,版本不同,支持的docker也不同
  • services: 多种服务的根节点
  • nexus: 服务名随意起,代表要创建的服务
  • restart: 容器的重启策略,有no、always、on-failure、unless-stopped四种可选值。
  • image: 容器依据的镜像
  • container_name: 容器名
  • ports: 端口;这里8090为虚机端口映射至nexus容器的8081端口
  • volumes: 数据卷; 指定数据卷,防止每次启动容器,容器里的数据丢失,实现容器和虚拟机数据共享。

5.2:创文章来源(Source):https://www.dqzboy.com建数据卷

  • 上面yaml指定了数据卷,我们需要在虚拟机上创建对应的目录
[[email protected] docker]# mkdir /usr/local/nexus

#给目录赋予权限
[[email protected] docker]# chmod 777 /usr/local/nexus

5.3:启动Nexus容器

文章来源(Source):https://www.dqzboy.com
[[email protected] docker]# docker-compose up -d
Nexus安装与配置教程-浅时光博客
[[email protected] docker]# docker ps

6、访问Nexus

#启动会比较慢,可以登入到容器中,查看nexus日志
[[email protected] docker]# docker exec -it 1a9ec41f4be7 /bin/bash
bash-4.4$ cd /nexus-data/
bash-4.4$ cd log/
bash-4.4$ tail -f nexus.log
Nexus安装与配置教程-浅时光博客
Nexus安装与配置教程-浅时光博客
Nexus安装与配置教程-浅时光博客

7、密码修改

[[email protected] ~]# docker ps | grep nexus
[[email protected] ~]# docker exec -it nexus /bin/bash
bash-4.4$ cd nexus-data/
bash-4.4$ cat admin.password 
80asde6c-asdd-42ab-e3bf-d24f45b212ac
Nexus安装与配置教程-浅时光博客
Nexus安装与配置教程-浅时光博客
Nexus安装与配置教程-浅时光博客
Nexus安装与配置教程-浅时光博客
Nexus安装与配置教程-浅时光博客
Nexus安装与配置教程-浅时光博客
0 条回应
    本站已安全运行: | 耗时 0.802 秒 | 查询 116 次 | 内存 20.04 MB