基于nginx实现私有yum仓库
基于本地光盘的源
server端IP:10.0.0.79
nginx使用默认路径、端口
yum install nginx -y #更改以root运行
sed -i '/^user/s/nginx/root/' /etc/nginx/nginx.conf #开启目录列表显示
sed -i '/^http/a autoindex on;\nautoindex_exact_size off;\nautoindex_localtime on;' /etc/nginx/nginx.conf #启动nginx
systemctl enable nginx --now #挂载本地iso文件
mkdir -pv /usr/share/nginx/html/centos/{7,8}
mount -o loop /home/CentOS-7-x86_64-Everything-2009.iso /usr/share/nginx/html/centos/7
mount -o loop /home/CentOS-8.4.2105-x86_64-dvd1.iso /usr/share/nginx/html/centos/8 #防火墙放行80端口
iptables -I INPUT -p tcp --dport 80 -j ACCEPT #开机挂载目录
cat >> /etc/fstab <<EOF
/home/CentOS-7-x86_64-Everything-2009.iso /usr/share/nginx/html/centos/7 iso9660 loop,defaults 0 0
/home/CentOS-8.4.2105-x86_64-dvd1.iso /usr/share/nginx/html/centos/8 iso9660 loop,defaults 0 0
EOF
#客户端编辑repo文件
cat > /etc/yum.repos.d/local-iso.repo <<EOF
[local-iso]
name=local iso
baseurl=http://10.0.0.79/centos/\$releasever
gpgcheck=1
gpgkey=http://10.0.0.79/centos/\$releasever/RPM-GPG-KEY-\$releasever
enabled=1
EOF
nginx使用非默认目录、端口
#nginx配置10088端口、/data/www-iso目录
cat > /etc/nginx/conf.d/yumrepos.conf <<EOF
server {
listen 10088;
server_name _;
root /data/www-iso/;
}
EOF
systemctl restart nginx
#防火墙添加10088
iptables -I INPUT -p tcp --dport 10088 -j ACCEPT #创建目录并挂载
mkdir -p /data/www-iso/centos/{7,8}
mount -o loop /home/CentOS-7-x86_64-Everything-2009.is /data/www-iso/centos/7 客户端编辑repo文件
cat > /etc/yum.repos.d/local-iso-10088.repo <<EOF
[local-iso-10088]
name=local iso 10088
baseurl=http://10.0.0.79:10088/centos/\$releasever
gpgcheck=1
gpgkey=http://10.0.0.79:10088/centos/\$releasever/RPM-GPG-KEY-\$releasever
enabled=1
EOF
效果验证

浏览器查看(80端口及10088端口)

基于互联网的源
在生产环境中无法连接外网的情况、系统镜像没有相关软件包时,我们可以事先在可以连接外网的主机使用reposync的方式同步互联网上的yum源到本地,使用createrepo命令制作一个本地内网yum仓库。
下载阿里云的EPEL源,制作私有yum源
epel互联网源地址

非默认nginx端口目录配置
(参见第一部分)
#CentOS 7 以前版本,reposync工具来自于yum-utils包
yum -y install yum-utils
#下载数据存放目录
mkdir -p /data/www-iso
服务端编辑epel互联网的源
cat > /etc/yum.repos.d/ali-epel.repo <<EOF
[ali-epel]
name=ali EPEL
baseurl=https://mirrors.aliyun.com/epel/7/x86_64/
gpgcheck=0
enabled=1
EOF
#默认只下载rpm包,不下载meta数据,需要指定--download-metadata 才能下载meta
reposync --repoid=ali-epel --download-metadata -p /data/www-iso
#若未下载meta数据,可在下载rpm包后使用createrepo创建
#createrepo -po 源目录 索引元数据的输出位置目录
yum install -y createrepo
createrepo -po /data/www-iso/ali-epel/ /data/www-iso/ali-epel/
#下载相关的key文件
wget -P /data/www-iso/ali-epel/ https://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-7
#客户端编辑
cat > /etc/yum.repos.d/ali-epel-client.repo <<EOF
[ali-epel]
name=ali EPEL
baseurl=http://10.0.0.79:10088/ali-epel
gpgcheck=1
gpgkey=http://10.0.0.79:10088/ali-epel/RPM-GPG-KEY-EPEL-7
enabled=1
EOF
效果验证


nginx代理yum(互联网源)
场景:10.0.0.79(能上外网)与10.0.0.3(无外网)互连,10.0.0.3需要使用yum安装软件。
代理端10.0.0.79操作
1)配置可使用的yum源,如阿里云
wget -O /etc/yum.repos.d/ali.repo https://mirrors.aliyun.com/repo/Centos-7.repo
2)配置nginx监听端口,如5000
# cat /etc/nginx/conf.d/yum.conf
server {
listen 5000;
server_name _; location / {
proxy_pass http://mirrors.aliyun.com;
}
}
3)重载nginx
systemctl reload nginx
客户端10.0.0.3操作
1)将阿里云的yum源repo文件复制到/etc/yum.repos.d/目录,并修改repo文件中mirrors.aliyun.com为代理端的地址及端口10.0.0.79:5000
sed -i 's/mirrors.aliyun.com/10.0.0.79:5000/g' /etc/yum.repos.d/ali.repo
2)修改/etc/yum.conf,增加proxy=http://10.0.0.79:5000
sed -i '/\[main\]/a\proxy=http://11.0.0.3:5000' /etc/yum.conf
nginx代理yum(本地源)
基于本文第一章节配置好本地源后,将服务端的
/etc/yum.repos.d/local-iso-10088.repo
复制到客户端/etc/yum.repos.d/
基于nginx实现私有yum仓库的更多相关文章
- 版本控制系统之基于httpd搭建私有git仓库
在上一篇博客中,我们主要聊到了git的基本工作原理和一些常用的git命令的使用:回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13787701.html:今天我 ...
- 创建私有yum仓库
创建私有yum仓库
- 搭建私有yum仓库
需要工具: centos7 nginx rsync 新建文件夹存放镜像数据 mkdir /data mkdir /data/yum_data 同步数据 国内开源镜像站没有几个支持rsync,科技大学的 ...
- yum仓库的部署
https://segmentfault.com/a/1190000013968371 私有yum仓库在企业中的应用还是比较广泛,有方便.快捷.灵活等优势.如某公司安全部门不允许大批量的主机连接互联网 ...
- 搭建基于HTTP协议内网yum仓库
目录 1. 前言 2. 把rpm包下载到本地 3. 配置nginx对外提供服务 4. 配置本地repo文件 5. 生成repodata信息 6. 检查及使用 7. 对管理机器上的仓库进行更新 参考资料 ...
- 基于 registry 搭建 Docker 私有镜像仓库
今天主要介绍使用 registry 来搭建 Docker私有镜像仓库,方便在公司内部项目中使用,registry 也是 Docker 官方提供的一个镜像,操作也很简单. dockerhub: http ...
- 配置yum仓库的三种方法光盘镜像、nginx、sftp
方法一: 1.安装ftp服务 [root@oldboy ~]# yum -y install vsftpd 2.查看vsftpd相关的配置文件和目录 rpm -ql vsftpd # 查看vsftpd ...
- 部署Harbor私有镜像仓库
Harbor私有镜像仓库无坑搭建 目录 1. harbor介绍 2. docker-ce的安装 3. docker-compose的安装 4. Harbor私有仓库的安装 5. 客户端连接镜像仓库配置 ...
- 容器技术之Docker私有镜像仓库docker-distribution
在前边的博客中我们说到docker的架构由docker客户端.服务端以及仓库组成:docker仓库就是用来存放镜像的地方:其实docker registry我们理解为存放docker镜像仓库的仓库比较 ...
随机推荐
- 读《深入理解java虚拟机》小结
之所以学习 jvm ,是因为在学习多线程相关知识时,对 volatile 关键字理解的不够透彻,总有种似懂非懂的感觉.于是通过在网上各种资料的查阅,最终将 volatile 和 jvm 联系上了,本身 ...
- redhat9 linux 网卡无法激活排障
先查看自己的系统版本! [root@localhost root]# uname -a Linux localhost 2.4.20-8 #1 Thu Mar 13 17:54:28 EST 2003 ...
- 分数化循环小数C++实现
引言 前一阵做了一个有理数四则混合运算的程序(详见:用C++实现的有理数(分数)四则混合运算计算器),以分数形式呈现运算结果.这次添加以循环小数形式呈现运算结果的功能.例如: Please input ...
- Linux从头学10:三级跳过程详解-从 bootloader 到 操作系统,再到应用程序
作 者:道哥,10+年的嵌入式开发老兵. 公众号:[IOT物联网小镇],专注于:C/C++.Linux操作系统.应用程序设计.物联网.单片机和嵌入式开发等领域. 公众号回复[书籍],获取 Linux. ...
- Markdown Sublime flowchart.js 流程图
先亮出来一个 flowchart.js 的 Sample 给 Sublime 安装 MarkdownPreview,这个不必多说了 Sublime Text -> Preferences -&g ...
- 超详细kafka教程来啦
Kafka的概念和入门 Kafka是一个消息系统.由LinkedIn于2011年设计开发. Kafka是一种分布式的,基于发布/订阅的消息系统.主要设计目标如下: 以时间复杂度O(1)的方式提供消息持 ...
- IIS托管Asp.net Core及Abp VNext
默认方式安装IIS后,从官方网站下载IIS模块 https://dotnet.microsoft.com/download/dotnet-core/3.1 2个都需要安装 安装后,新建网站指向发布的磁 ...
- LVS负载均衡集群--NAT模式部署
目录: 一.企业群集应用概述 二.负载均衡群集架构 三.负载均衡群集工作模式分析 四.关于LVS虚拟服务器 五.NAT模式 LVS负载均衡群集部署 一.企业群集应用概述 1.群集的含义 Cluster ...
- Prism+WPF使用DependencyInjection实现AutoMapper的依赖注入功能
前言 在使用PRISM+WPF开发项目的过程中,需要使用AutoMapper实现对象-对象的映射功能.无奈PRISM没有相关对AutoMapper相关的类库,于是转换一下思想,在nuget 中存在有关 ...
- ysoserial CommonsColletions5分析
我们知道,AnnotationInvocationHandler类在JDK8u71版本以后,官方对readobject进行了改写. 所以要挖掘出一条能替代的类BadAttributeValueExpE ...