rsync+nginx实现公网yum源

整个过程分3步:

1:nginx提供目录浏览功能

nginx直接yum安装,不废话,直接贴配置文件

[[email protected] ~]# cat /etc/nginx/nginx.conf

worker_processes auto;

events {

worker_connections 1024;

}

http {

include mime.types;

charset utf-8;

default_type application/octet-stream;

sendfile on;

autoindex on; #开启目录浏览功能

keepalive_timeout 65;

server {

listen 80;

listen [::]:80;

server_name localhost;

location / {

root html;

index index.html index.htm;

}

}

}

2:从上游yum源同步yum源到本地

直接贴定时任务

# rsync centos6 repos

30 21 * * * /usr/bin/rsync -zaP --exclude-from /usr/share/nginx/html/rsync_exclude2.txt rsync://rsync.mirrors.ustc.edu.cn/centos/7.4.1708 /usr/share/nginx/html/centos

00 22 * * * /usr/bin/rsync -zaP --exclude-from /usr/share/nginx/html/rsync_exclude.txt rsync://rsync.mirrors.ustc.edu.cn/centos/6.9 /usr/share/nginx/html/centos

00 21 * * * /usr/bin/rsync -zaP --exclude-from /usr/share/nginx/html/rsync_exclude.txt rsync://rsync.mirrors.ustc.edu.cn/epel/7/x86_64 /usr/share/nginx/html/epel/7/

30 20 * * * /usr/bin/rsync -zaP --exclude-from /usr/share/nginx/html/rsync_exclude.txt rsync://rsync.mirrors.ustc.edu.cn/epel/6/x86_64 /usr/share/nginx/html/epel/6/

从定时任务的配置,可以看出,我同步了centos6、7基础源和epel源,有的同学担心,这样会特别占用空间!是的,如果不启用过滤,全部同步,确实很占用空间!

下面我把rsync里面的--exclude-from文件贴出来,centos6和7稍微不同

centos6

[[email protected] ~]# cat /usr/share/nginx/html/rsync_exclude.txt

centosplus/

cloud/

contrib/

cr/

fasttrack/

isos/

sclo/

storage/

virt/

i386/

debug/

drpms/

centos7

[[email protected] ~]# cat /usr/share/nginx/html/rsync_exclude2.txt

atomic/

centosplus/

cloud/

configmanagement/

cr/

dotnet/

fasttrack/

isos/

nfv/

opstools/

paas/

rt/

sclo/

storage/

virt/

debug/

drpms/

最终4个源全部同步完,并且可用只占了60G左右

到这里已经能提供yum服务了,但是无法为下游提供同步服务,于是有了第三步

3:开启rsync --daemon模式


[[email protected] ~]# cat /etc/rsyncd.conf

#rsync server

uid = nginx

gid = nginx

use chroot = no

max connections = 2000

timeout = 600

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsync.lock

log file = /var/log/rsyncd.log

ignore errors

read only = true #只提供同步,只读足够

list = true             #允许查看列表,认证的什么的不需要配置

hosts allow = 0.0.0.0/0

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

[centos]

path = /usr/share/nginx/html/centos

[epel]

path = /usr/share/nginx/html/epel

到这里,一个公网yum该有的功能都有了!

原文地址:https://www.cnblogs.com/Forever-x/p/10861297.html

时间: 2024-08-05 13:20:31

rsync+nginx实现公网yum源的相关文章

用Nginx官网YUM源来安装Nginx

第一种方法比较简单,就是采用nginx官方的yum源, 我们用cat命查看nginx.repo文件,命令如下所示 cat /etc/yum.repos.d/nginx.repo nginx.repo文件内容如下: [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1 第二种方式就是通过createrepo自建自己的YUM源,这种方式更

CentOS配置Nginx官方的Yum源

由于yum源中没有我们想要的nginx,那么我们就需要创建一个"/etc/yum.repos.d/nginx.repo"的文件,其实就是新增一个yum源. [[email protected]~]# vim /etc/yum.repos.d/nginx.repo 然后将下面的内容复制进去: [nginx]name=nginx repobaseurl=http://nginx.org/packages/centos/$releasever/$basearch/gpgcheck=0enab

使用nginx代理centos yum 源

我们在安装centos 服务器时,可能会有以下情况: 局域网内有若干台服务器,但是只有一台服务器可以连接外网,其余服务器都不可以连接外网,但通过局域网与外网机器联通. 那么我们再使用 yum 安装软件时,可以采用以下方式 搭建本地 yum 源 使用nginx 代理 yum 源 其中方法1比较复杂且一旦需要第三方数据源时,更麻烦,因此我们这里介绍使用方法2. 1. 在有外网的服务器上安装 nginx 安装 epel 源 yum -y install epel-release 安装 nginx yu

本地yum源搭建及failed to retrieve解决

第1章 yum是什么 YUM(Yellow dog Updater Modified)为多个Linux发行版的软件包管理器,例如Redhat RHEL,CentOS&Fedoro. YUM主要用于自动安装.升级rpm软件包,它能自动查找并解决rpm包之间的依赖关系. YUM自动下载rpm包并安装.类似某软件的一键安装. 1.1 yum源是什么? 要成功的使用YUM工具安装更新软件或系统,就需要有一个包含各种rpm软件包的repository(软件仓库),这个软件仓库我们习惯称为yum源. 网络上

YUM源部署和使用

1.前言 为什么需要内部yum源呢,有可能是业务内部的服务器对外是不通了,居于一些安全方面的考虑.内部yum源又有什么好处呢,第一,速度快:第二,内网可控,外网有问题也不影响内网包的下载和安装等. 2.部署 2.1 创建yum仓库目录 mkdir -p /data/yum_data/centos/6/os/x86_64/ mkdir -p /data/yum_data/centos/6/extras/x86_64/ mkdir -p /data/yum_data/centos/6/updates

yum源的配置方法

rpm -ivh  软件安装命令 yum  包管理工具 yum源的配置方法 下载的命令 wget [网址] 修改前做备份 1.有问题回滚 2.事后对比改过的内容 下载文件步骤 yum源的配置方法 第一步.cd /etc/yum.repos.d/  首先先切换到yum文件下 第二步.cp CentOS-Base.repoCentOS-Base.repo.ori  备份文件 mv [原文件] [备份为] 第三部.wget http://mirrors.163.com/.help/CentOS6-Ba

基于HTTP搭建局域网YUM源+软件包扩展+同步外网YUM源

1         基于HTTP搭建局域网YUM源(Centos7) 1.1  YUM服务端安装HTTP服务 1)  安装HTTP yum install httpd httpd-devel –y 2)  启动httpd服务 systemctl restart httpd.service setenforce 0  #关闭SELinux systemctl stop firewalld   #临时停止防火墙 1.2  YUM服务端搭建局域网YUM源 1)挂载光盘镜像文件 mount /dev/c

Docker容器安装nginx基本步骤Yum版

首先我们来科普一下nginx: Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日. 其将源代码以类BSD许可证的形式发布,因它的稳定性.丰富的功能集.示例配置文件和低系统资源的消耗而闻名.2011年6月1日,nginx 1.0.4发布. Nginx是一款轻量级的We

用rsync同步公网centos yum源做本地yum源服务器

1,安装httpd,rsync,vsftpd yum -y install httpd rsync vsftpd mkdir /var/www/html/centos #由于vsftpd不支持软连接改变目录,所以下面操作效果一样 mount --bind /var/www/html/centos /var/ftp/pub chkconfig httpd on chkconfig vsftpd on service httpd start service vsftpd start 2,rsync同