一、实验背景

在生产环境中,我们不可能所有的服务器都能连接外网更新rpm包,比较理想的环境是:有一台Linux服务器可以连接外网,剩余的服务器通过这台yum服务器更新。

传统的做法是先把包下载到内网中的yum服务器上,然后通过createrepo命令生成本地仓库,其余服务器通过HTTP/FTP访问这个链接,这种做法比较费时费事。有没有一种比较好的方式,让我们直接通过这台服务器代理连接到公网的163、阿里云yum仓库呢?

这就是本次介绍的Nexus代理,无论你的客户机是CentOS6还是CentOS7又或者是Ubuntu,不论你是想用yum还是pip又或者是npm包管理器,Nexus都能满足你的需求

你只需要将nexus放到能连外网的服务器上,通过nexus暴露服务就可以了。

二、实验环境

操作系统:CentOS7.5 Minimal

nexusServer: 192.168.1.107

yumClient:192.168.1.103

三、安装nexus,创建yum私有仓库

在nexusServer服务器

关闭selinux

# setenforce 0

# sed  -i  's/^SELINUX=.*/SELINUX=permissive/g'  /etc/selinux/config

安装docker

# yum -y install  yum-utils device-mapper-persistent-data lvm2

# yum-config-manager  --add-repo    https://download.docker.com/linux/centos/docker-ce.repo

# yum list docker-ce  --showduplicates | sort  -r

#  yum -y install docker-ce-18.06.0.ce

# systemctl  start docker

# systemctl  status docker

# systemctl  enable  docker

# docker version

拉取镜像,运行nexus服务

在nexusServer 服务器

# docker pull sonatype/nexus3:3.16.0

# docker images

#  mkdir /opt/nexus-data

# chown -R  200 /opt/nexus-data

注:容器中nexus的默认运行用户是nexus,uid和gid为200

用命令行形式运行nexus容器

#  docker run -d  \

--name nexus \

--ulimit nofile=65536:65536 \

-p 192.168.1.106:8081:8081 \

-v /opt/nexus-data:/nexus-data \

sonatype/nexus3:3.16.0

# docker logs  -f  nexus

# docker  ps  -a

# ss  -tan

浏览器访问: http:192.168.1.107:8081

默认登录用户名密码:admin/admin123

创建yum私有仓库

yum私服有三种类:

创建blob存储,为其创建一个单独的存储空间,命名为yum

创建hosted类型的yum库

Name::定义一个名称yumDev

Storage:Blob store,我们下拉选择前面创建好的专用blob:yum。

Hosted:开发环境,我们运行重复发布,因此Delpoyment policy 我们选择Allow redeploy

创建一个proxy类型的yum仓库

Name: yumProxy

Proxy:Remote Storage: 远程仓库地址,写: http://mirrors.163.com/centos

Storage: yum

其他设置,使用均是默认。

这里就先创建一个代理163的仓库,其实还可以多创建几个,诸如阿里云,搜狐等等,这个根据个人需求来定义。

创建一个group类型的yum仓库

Name:yumGroup

Storage:选择专用的blob存储yum

group : 将左边可选的2个仓库,添加到右边的members

可以创建多个prxoy类型的yum仓库,通过同一个group暴露给客户端使用

构建yum缓存

新建一台环境干净的主机,此时需要保证这台主机能够上网,因为私服当中还没有进行初始化。

先简单配置一下,将yum源指向到私服中来。

#  cd /etc/yum.repos.d

# mkdir repoBackup

# mv *.repo  repoBackup

# vim nexus.repo

####################################################################

[nexus]

name=Nexus Yum Repository

baseurl=http://192.168.1.107:8081/repository/yumGroup/$releasever/os/$basearch/

enabled=1

gpgcheck=0

#######################################################################

#  yum clean all

#  yum  makecache

现在,我们可以从页面上看缓存包了

服务端启动方式改进,将nexus注册成系统服务

编写unit文件

# vim /etc/systemd/system/nexus.service

####################################################

[Unit]

Description=Nexus

Documentation=https://www.sonatype.com

After=network-online.target firewalld.service docker.service

Requires=docker.service

[Service]

ExecStartPre=-/usr/bin/docker rm -f nexus

ExecStart=/usr/bin/docker run \

--name nexus \

--ulimit nofile=65536:65536 \

-p 192.168.1.107:8081:8081 \

-v /opt/nexus-data:/nexus-data \

sonatype/nexus3:3.16.0

ExecStop=/usr/bin/docker stop nexus

LimitNOFILE=65535

Restart=on-failure

StartLimitBurst=3

StartLimitInterval=60s

[Install]

WantedBy=multi-user.target

#####################################################

停止和删除命令行启动的nexus服务

# docker stop nexus

# docker rm nexus

用systemd启动服务

# systemctl daemon-reload

#  systemctl start  nexus

#  systemctl enable nexus

#  systemctl status nexus

# docker logs  -f nexus

四、测试nexus的yum私服

在yumClient服务器

用一台不能上网但是可以与刚刚私服通信的主机,将其yum源指向的配置好的私服,或者是将其他的源都切断,然后yum源仅仅指向私服,看看安装是否顺利。

#  cd /etc/yum.repos.d

# mkdir repoBackup

# mv *.repo  repoBackup

# vim nexus.repo

####################################################################

[nexus]

name=Nexus Yum Repository

baseurl=http://192.168.1.107:8081/repository/yumGroup//$releasever/os/$basearch/

enabled=1

gpgcheck=0

#######################################################################

#  yum clean all

# yumrepolist

#  yum  -y  install  httpd

五、参考

nexus3搭建yum源

https://blog.51cto.com/daibaiyang119/2116205

http://limingming.org/index.php/2018/12/nexus3-yum-repo

企业级开源仓库nexus3实战应用

http://www.eryajf.net/category/%E6%9C%AF%E4%B8%9A%E4%B8%93%E6%94%BB/%E6%9C%8D%E5%8A%A1%E7%B1%BB%E7%9B%B8%E5%85%B3/nexus

Nexus OSS配置yum代理

https://qgdlsj.com/nexus-oss-yum-proxy

Nexus Repository Manager 3.5: Yum Proxy Support Now Available

https://blog.sonatype.com/nexus-repository-manager-3.5

Nexus System Requirements

https://help.sonatype.com/repomanager3/system-requirements

国内yum源列表记录

http://limingming.org/index.php/2018/12/yum-repo-china

用nexus3.x 官方镜像搭建docker私有镜像仓库

https://www.jianshu.com/p/86e573f18df3

【nexusyum】CentOS7.x上用nexus搭建yum仓库相关推荐

  1. Linux搭建YUM仓库

    目录 一.yum仓库简介 1.1简介 1.2yum的实现过程原理 二.yum配置文件以及操作 2.1 配置YUM本地仓库 2.2安装httpd服务 三.采用内网搭建yum仓库 3.1http方式内网环 ...

  2. 使用nexus搭建离线仓库

    使用nexus搭建离线仓库 本地搭建nexus中心仓库 配置nexus 外网配置maven 打包nexus 外网中打包nexus容器和maven工具就可以直接拷贝到内网中 导入容器 注意事项 背景:在 ...

  3. Linux搭建YUM仓库安装软件(Centos 7.5)

    简介:在搭建yum仓库前,应先对Linux系统有一个简单的认识,要理解挂载的概念,对Linux系统的文件对应的目录有一定的认识. 在工作中,我们通过rpm安装软件,经常会出现不能一步到位,还需要好多的 ...

  4. CentOS7下搭建yum仓库

    服务端配置: 1.开启yum缓存 sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf[root@control /]# cat /etc/yum.co ...

  5. [nexus]基于nexus搭建npm仓库及上传插件到仓库

    目录 环境信息 搭建npm仓库 创建存储位置 创建proxy仓库 创建hosted仓库 创建group仓库 配置域 下载及上传 登录 下载 上传 环境信息 nexus: 3.29.2-02 node: ...

  6. linux 自建yum源_Linux 搭建YUM仓库源详解

    基于ISO镜像构建 YUM 本地源 1.yum install httpd:安装httpd软件包.yum remove httpd:卸载httpd软件包.yum erase httpd:删除httpd ...

  7. 使用Nexus搭建Maven仓库私服的权限配置心得

    最近在学习Maven,学习到使用Nexus搭建私服,通过Nexus的权限机制可以实现较细粒度的权限控制,这对组织内部的团队开发很有帮助.通过实验,我总结了以下一些经验,可以实现一些权限控制的需求,在此 ...

  8. (飞速下载)阿里云上用nexus搭建的maven私服仓库

    配置很简单,修改conf文件夹下的settings.xml文件,添加如下镜像配置: <mirrors><mirror><id>alimaven</id> ...

  9. 搭建yum仓库定制rpm包

    YUM源优先级 1年前 (2015-12-18) 听风吟 Linux攻略 0评论 来源:本站原创 155℃ 字体:小中大 生产案例:OpenStack Icehouse novncproxy无法启动解 ...

最新文章

  1. 服务器2008操作系统漏洞,【操作系统安全漏洞 】解决CVE-2017-11780:Microsoft Windows SMB Server远程代码执行漏洞...
  2. K8S常见错误、原因及处理方法
  3. gdb命令中attach使用
  4. ElementUI,和IView在Vue中的安装引入和配置
  5. java对redis的基本操作(一)
  6. 图相处理自学(二):图像处理基本算法Black level / sensor offset/ Shading/ Color Matrix/ AWB(QP值)
  7. CPU瓶颈(五)--过度编译与不必要重复编译的解决方案
  8. Linux共享文件夹打不开,Linux 共享文件夹失败
  9. APP抓包教程 windows + mimtproxy +夜神模拟器 + XposedInstaller + JustTrustMe
  10. word文档转换为md文档
  11. Echarts炫酷配置
  12. android高仿ios11系统,安卓仿苹果iOS11主题APP
  13. 马桶下的压水花技术!!(爆笑)
  14. Matlab学习手记——非线性拟合方法:压缩因子粒子群算法
  15. 字节跳动bytedance西瓜视频播放器研究
  16. JSP实验室预约管理系统
  17. PyTorch-09 循环神经网络RNNLSTM (时间序列表示、RNN循环神经网络、RNN Layer使用、时间序列预测案例、RNN训练难题、解决梯度离散LSTM、LSTM使用、情感分类问题实战)
  18. Linux虚机 下给用户调整安装JDK版本
  19. app应用下的公司名称错误
  20. 【java文本处理】删除txt文档中的空白行

热门文章

  1. 基于软路由连接上网的相关配置
  2. 1688-seller_info - 获得店铺详情
  3. OpenCV开发笔记(六十二):红胖子8分钟带你深入了解亚像素角点检测(图文并茂+浅显易懂+程序源码)
  4. mysql刷新当前数据库_sqlyog刷新数据库
  5. 本周大新闻|苹果首款MR没有主打卖点;Meta认为AI是AR OS的基础
  6. 【项目】费曼技巧,终极学习法
  7. 2020年最鼓舞人心的句子
  8. 怎么样matlab做玫瑰花,Matlab画的玫瑰花
  9. Windows10打开“运行”窗口
  10. 4.5.2 地址变换机构 4.5.3  访问内存的有效时间