【nexus&yum】CentOS7.x上用nexus搭建yum私有仓库

一、实验背景

  在生产环境中,我们不可能所有的服务器都能连接外网更新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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容