02-yum-server部署手册¶
YUM简单介绍¶
YUM是什么¶
YUM主要用于自动安装、升级rpm软件包,它能自动查找并解决rpm包之间的依赖关系。要成功的使用YUM工具安装更新软件或系统,就需要有一个包含各种rpm软件包的repository(软件仓库),这个软件仓库我们习惯称为yum源。网络上有大量的yum源,但由于受到网络环境的限制,导致软件安装耗时过长甚至失败。特别是当有大量服务器大量软件包需要安装时,缓慢的进度条令人难以忍受。因此我们在优化系统时,都会更换国内的源。
相比较而言,本地YUM源服务器最大优点是局域网的快速网络连接和稳定性。有了局域网中的YUM源服务器,即便在Internet连接中断的情况下,也不会影响其他YUM客户端的软件安装和升级。
YUM(Yellow Dog Updater Modified)为多个Linux发行版的软件包管理器,例如Redhad RHEL CentOS & Fedora。YUM主要用于自动安装,升级rpm软件包,他能自动查找并解决rpm包的依赖关系
YUM自动下载YUM包并安装,类似软件管家的一键安装功能:
YUM源是什么¶
(1)要成功的使用YUM工具安装更新软件或系统,就需要有一个包含各种rpm软件包的repository(软件仓库),这个软件仓库我们习惯称为yum源,
(2)网络上有大量的yum源,但由于受到网络环境的限制,导致软件安装耗时过长甚至失败,特别是当有大量服务器大量软件包需要安装时,缓慢的进度条令人难以忍受,因此我们在优化系统时,都会更换国内的源
(3)相比较而言,本地YUM源服务器最大优点是局域网的快速网络连接和稳定性,有了局域网中的YUM源服务器,即便在Internel连接中断的情况下,也不会影响其他YUM客户端的软件安装和升级。
YUM源工作原理¶
YUM源client配置文件的存放路径
[root@nfs01 packages]# cd /etc/yum.repos.d/
[root@nfs01 yum.repos.d]# ls
CentOS-Base.repo CentOS-fasttrack.repo epel.repo
CentOS-Base.repo20160426 CentOS-Media.repo
CentOS-Debuginfo.repo CentOS-Vault.repo
国内YUM仓库推荐¶
以下为国内常见yum仓库
网易163 yum源,安装方法查看:http://mirrors.163.com/.help/
中科大的 yum源,安装方法查看:https://lug.ustc.edu.cn/wiki/mirrors/help
sohu的 yum源,安装方法查看: http://mirrors.sohu.com/help/
阿里云的 yum源,安装方法查看: https://opsx.alibaba.com/mirror
清华大学的 yum源,安装方法查看: https://mirrors.tuna.tsinghua.edu.cn/
浙江大学的 yum源,安装方法查看: http://mirrors.zju.edu.cn/
中国科技大学yum源,安装方法查看: http://centos.ustc.edu.cn/
RPM包版本号说明¶
rpm包的命名规范
name-version-release-arch.rpm
名称-版本-发行版本-平台-后缀
version**:版本号**
主版本号:软件有重大改进
次版本号:某个子功能发生变化
修订号:软件发布时解决了一个BUG,或者调整了一部分功能
release**:发行版本号**
是源程序配置完成后,编译,制作rpm包的版本
OS:系统平台
硬件平台CPU
YUM仓库搭建部署¶
使用ISO镜像搭建YUM仓库¶
1.或者将镜像文件提前下载地址服务器
CentOS-7-x86_64-DVD-1804.iso
CentOS-7-x86_64-Everything-1810.iso
2.将光驱进行挂载到/mnt目录下
挂载iso文件
mkdir -p /data/mirrors/
mount CentOS-7-x86_64-DVD-1804.iso /mnt/
将挂载的所有文件复制到/data/mirrors/centos/目录
mkdir -p /data/mirrors/centos/
\cp -rf /mnt/* /data/mirrors/centos/
检查文件是否复制完毕
ls -l /data/mirrors/centos/
取消挂载的iso文件
umount /mnt/
3.安装nginx服务
yum -y install nginx vim
4.配置nginx服务
\cp -f /etc/nginx/nginx.conf /etc/nginx/nginx.conf_bak
vim /etc/nginx/nginx.conf
http {
autoindex on;
autoindex_exact_size on;
autoindex_localtime on;
server {
root /data/mirrors/;
5.启动nginx服务
systemctl start nginx
systemctl enable nginx
6.访问web界面
python的发布的进程关闭,需要到目录下面去发布(选做)
[root@m01 mnt]# lsof -i :80
COMMAND PID USERFD TYPE DEVICE SIZE/OFF NODE NAME
python 4171 root3u IPv4 196750t0 TCP *:http (LISTEN)
[root@m01 mnt]# jobs
[1]+ Stopped vimdiff CentOS-Base.repo CentOS-Base.repo.source.bak (wd: /etc/yum.repos.d)
[2]- Running python -m SimpleHTTPServer 80 &>/dev/null & (wd: /application/yum/centos6.6/x86_64)
[root@m01 mnt]# pkill python ß杀死相应的进程
[root@m01 mnt]# kill %1
[root@m01 mnt]# lsof -i :80 ß检查进程是否被杀死
[root@m01 mnt]# python -m SimpleHTTPServer 80 &>/dev/null &
[2] 4215
[root@m01 mnt]# lsof -i :80
COMMAND PID USERFD TYPE DEVICE SIZE/OFF NODE NAME
python 4215 root3u IPv4 199860t0 TCP *:http (LISTEN)
客户端如何配置YUM仓库
rm -f /etc/yum.repos.d/*.repo
cat >/etc/yum.repos.d/CentOS-Base.repo<<EOF
[centos]
name=CentOS-$releasever - Base
baseurl=http://192.168.56.76/centos/
gpgcheck=0
enabled=1
EOF
客户端如何使用YUM仓库
清理yum缓存
yum clean all
更新yum仓库
yum makecache
yum repolist
使用yum仓库安装软件
[root@web01 ~]# yum -y install httpd ß安装apache软件测试
Installed:
httpd.x86_64 0:2.2.15-45.el6.centos
上面展示的需要新建一个文件,也许工作中还有更多的配置,如果手动配置比较繁琐,因此有一种更简单的方法,将这些操作做成rpm包。
fpm -s dir -t rpm -n oldboyedu_repo -v 1.0 --post-install /server/scripts/oldboyedu_rpm.sh -f /etc/yum.repos.d/oldboyedu.repo
oldboyedu_rpm.sh
脚本主要是刚才我们的一些操作。
使用RPM包搭建YUM仓库¶
1.清理上面的实验环境
rm -fr /data/mirrors/centos/
2.配置公网YUM仓库
rm -f /etc/yum.repos.d/*.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo
yum clean all
yum repolist
3.创建目录用来做YUM仓库的使用,准备下载rpm包软件
mkdir -p /data/mirrors/centos/
yum install --downloadonly --downloaddir=/data/mirrors/centos/ java
3,安装createrepo软件,用于生成yum仓库数据库的软件
yum -y install createrepo
rpm -qa|grep createrepo
4.初始化repodata索引文件(每次发布新的内容都需要更新,)
createrepo -pdo /data/mirrors/centos/ /data/mirrors/centos/
5.每加入或者更新一个rpm包就要更新一下
createrepo --update /data/mirrors/centos/
6.使用nginx当web服务器
yum -y install nginx
cp /etc/nginx/nginx.conf{,.source.bak}
vi /etc/nginx/nginx.conf
root /application/yum/centos7/x86_64/; 修改默认的主页目录
打开nginx.conf文件,在location server 或 http段中加入
autoindex on;
autoindex_exact_size on;
#显示出文件的确切大小,单位是bytes 改为off后,显示出文件的大概大小,单位是kB或者MB或者GB
autoindex_localtime on;
#默认为off,显示的文件时间为GMT时间。改为on后,显示的文件时间为文件的服务器时间
6.检查并启动nginx
nginx -t
systemctl start nginx
systemctl enable nginx
打开浏览器,最后的显示效果
http://192.168.56.100/
7.访问web服务器
8.YUM客户端设置
rm -f /etc/yum.repos.d/*.repo
cat >/etc/yum.repos.d/local.repo<<EOF
[local-repo]
name=local
baseurl=http://192.168.56.76/centos/
gpgcheck=0
enabled=1
EOF
yum clean all
yum repolist
安装软件
yum install java
此方式需要在同一系统环境下进行软件包的下载,因为需要解决rpm包依赖的问题
公网镜像同步搭建YUM仓库¶
上面只是将自己制作的rpm包,放入yum源。但还有一种企业需求,说的更具体一点,平时学生上课yum安装软件都是从公网下载的,占用带宽,因此在学校里搭建一个内网yum服务器,但又考虑到学生回家也要使用yum安装软件,如果yum软件的数据库文件repodata不一样,就会有问题。因此我想到的解决方法就是直接使用公网yum源的repodata。
镜像同步公网yum源
上游yum源必须要支持rsync协议,否则不能使用rsync进行同步。
http://mirrors.ustc.edu.cn/status/
rsync://mirrors.ustc.edu.cn/
CentOS源:rsync://mirrors.tuna.tsinghua.edu.cn/centos/
epel源:rsync://mirrors.tuna.tsinghua.edu.cn/epel/
备用源:rsync://mirrors.ustc.edu.cn/
同步方案1:此方案适合磁盘空间不是很富裕,但是想最小化使用YUM私有仓库的需求(仅适用于centos7系列系统)
mkdir -p /data/mirrors/
mkdir -p /data/mirrors/centos/7/os/x86_64/
mkdir -p /data/mirrors/centos/7/extras/x86_64/
mkdir -p /data/mirrors/centos/7/updates/x86_64/
mkdir -p /data/mirrors/epel/7/
rsync -avzuP rsync://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/ /data/mirrors/centos/7/os/x86_64/
rsync -avzuP rsync://mirrors.tuna.tsinghua.edu.cn/centos/7/extras/x86_64/ /data/mirrors/centos/7/extras/x86_64/
rsync -avzuP rsync://mirrors.tuna.tsinghua.edu.cn/centos/7/updates/x86_64/ /data/mirrors/centos/7/updates/x86_64/
rsync -avzuP rsync://mirrors.tuna.tsinghua.edu.cn/epel/7/ /data/mirrors/epel/7/
同步方案2:此方案适合磁盘空间还算富裕,但是想最性价比的使用YUM私有仓库的需求(仅适用于centos7系列系统)
mkdir -p /data/mirrors/
mkdir -p /data/mirrors/centos/7/
mkdir -p /data/mirrors/epel/7/
rsync -avzuP rsync://mirrors.tuna.tsinghua.edu.cn/centos/7/ /data/mirrors/centos/7/
rsync -avzuP rsync://mirrors.tuna.tsinghua.edu.cn/epel/7/ /data/mirrors/epel/7/
同步方案3:此方案适合磁盘空间富裕,使用YUM私有仓库的需求(适用于centos系列系统)
mkdir -p /data/mirrors/
mkdir -p /data/mirrors/centos/
mkdir -p /data/mirrors/epel/
rsync -avzuP rsync://mirrors.tuna.tsinghua.edu.cn/centos/ /data/mirrors/centos/
rsync -avzuP rsync://mirrors.tuna.tsinghua.edu.cn/epel/ /data/mirrors/epel/
企业级YUM仓库搭建(模拟163源)¶
搭建企业级YUM仓库
https://gitee.com/chriscentos/rsync-yum
本软件是用来搭建企业级yum私有仓库
安装部署¶
开始安装相关依赖软件包
yum -y install nginx rsync git vim
mkfs.xfs -f /dev/sdb
mkdir -p /data
mount /dev/sdb /data/
echo "/dev/sdb /data xfs defaults 0 0" >>/etc/fstab ; cat /etc/fstab |grep data
mkdir -p /data/mirrors
cd /data/mirrors
git clone https://gitee.com/chriscentos/rsync-yum.git
cp -rf .resource .help index.html /data/mirrors/
同步仓库¶
现在开始同步公网软件仓库
cd /data/mirrors/rsync-yum
sh rsync_yum.sh
配置web¶
首先备份nginx原始配置文件
\cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf_bak
修改nginx配置文件将server段进行修改
vim /etc/nginx/nginx.conf
server
{
listen 80 default_server;
server_name _;
root /data/mirrors;
location ~ ^/(centos|epel) {
index index.html index.htm;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}
error_page 500 502 503 504 /50x.html;
#include enable-php56.conf;
#include enable-php70.conf;
#include enable-php71.conf;
#include enable-php72.conf;
#include enable-php73.conf;
#include enable-php74.conf;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
}
nginx -t
没有报错则表示通过
启动nginx服务
systemctl start nginx
systemctl enable nginx
访问web¶
打开浏览器进行web访问 http://192.168.56.76/
后台同步¶
yum -y install tmux
tmux new -s yum_rsync
sh rsync_yum.sh
同步状态脚本¶
[root@linux-node76 rsync-yum]# crontab -e
*/1 * * * * /bin/sh /data/mirrors/rsync-yum/yum_status_rsync.sh &>/dev/null
内存释放¶
echo 3 > /proc/sys/vm/drop_caches &>/dev/null
cat >/etc/clean_mem.sh<<EOF
#!/bin/bash
source /etc/profile
echo 3 > /proc/sys/vm/drop_caches
EOF
chmod +x /etc/clean_mem.sh
*/1 * * * * /bin/sh /etc/clean_mem.sh &>/dev/null
客户端配置¶
方法1:任意找一台机器配置局域网YUM(域名)
rm -f /etc/yum.repos.d/*.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo
echo "192.168.1.112 mirrors.cloud.tencent.com" >>/etc/hosts
mkdir -p /data/test/
yum install --downloadonly --downloaddir=/data/test/ java
yum install --downloadonly --downloaddir=/data/test/ nginx
yum groupinstall --downloadonly --downloaddir=/data/test/ "GNOME Desktop"
安装zabbix测试
wget http://repo.zabbix.com/non-supported/rhel/7/x86_64/iksemel-devel-1.4-2.el7.centos.x86_64.rpm
wget http://repo.zabbix.com/non-supported/rhel/7/x86_64/iksemel-1.4-2.el7.centos.x86_64.rpm
wget http://repo.zabbix.com/non-supported/rhel/7/x86_64/iksemel-utils-1.4-2.el7.centos.x86_64.rpm
yum localinstall iksemel-*
yum install zabbix-server zabbix-web zabbix-server-mysql zabbix-web-mysql mariadb-server mariadb -y
方法2:任意找一台机器配置局域网YUM(IP)
rm -f /etc/yum.repos.d/*.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo
sed -i "s#mirrors.cloud.tencent.com#192.168.1.112#g" /etc/yum.repos.d/CentOS-Base.repo
sed -i "s#mirrors.cloud.tencent.com#192.168.1.112#g" /etc/yum.repos.d/epel.repo
企业级YUM仓库搭建(模拟清华源)¶
tunasync搭建¶
在公司的企业私有云平台建立完成之后,为了便于云主机操作系统与软件快速部署更新,需要搭建企业级内网的开源镜像站。调研了国内各大开源镜像站点的技术之后,最终决定使用清华大学开源软件镜像站开发的镜像管理器 tunasync 来构建云平台的软件镜像服务,毕竟使用成熟的镜像管理器比从头造轮子还是方便了许多,镜像站不是云的核心服务也不需要投入太多人力去做开发。
本文介绍了从0开始搭建一个内网开源镜像站并为用户提供 web 访问服务的全过程,希望对有构建内网镜像站服务需求的同学有所帮助。
前以CentOS7系统为例,搭建一个基于内网的镜像仓库,建议硬盘至少2T以上,同步速度与网络带宽、磁盘读写速度有关!
https://github.com/tuna/tunasync
1、安装依赖
yum -y install rsync wget vim
2、下载tunasync
wget https://github.com/tuna/tunasync/releases/download/v0.3.7/tunasync-linux-bin.tar.gz
tar xf tunasync-linux-bin.tar.gz
mv tunasync /usr/bin/
mv tunasynctl /usr/bin/
挂载磁盘(选做)
mkfs.xfs -f /dev/sdb
mkdir -p /data
mount /dev/sdb /data/
echo "/dev/sdb /data xfs defaults 0 0" >>/etc/fstab ; cat /etc/fstab |grep data
3、创建仓库目录
mkdir -p /data/mirrors
4、创建日志目录
mkdir -p /data/logs/tunasync
5、创建tunasync配置文件
mkdir /etc/tunasync
6、创建manager.conf配置文件
[root@linux-node76 ~]# cat >/etc/tunasync/manager.conf<<EOF
[server]
addr = "127.0.0.1"
port = 14242
ssl_cert = ""
ssl_key = ""
[files]
db_type = "bolt"
db_file = "/etc/tunasync/manager.db"
ca_cert = ""
EOF
manager部分参数说明:
addr:manager服务监听地址 port:manager服务监听端口 ssl_cert和ssl_key:证书配置 db_file:数据库文件位置
7、创建worker.conf配置文件
cat >/etc/tunasync/worker-centos.conf<<EOF
[global]
name = "centos_worker"
log_dir = "/data/logs/tunasync/{{.Name}}"
mirror_dir = "/data/mirrors"
concurrent = 100
interval = 240
[manager]
api_base = "http://127.0.0.1:14242"
token = ""
ca_cert = ""
[cgroup]
enable = false
base_path = "/sys/fs/cgroup"
group = "tunasync"
[server]
hostname = "localhost"
listen_addr = "127.0.0.1"
listen_port = 6000
ssl_cert = ""
ssl_key = ""
[[mirrors]]
name = "centos"
provider = "rsync"
upstream = "rsync://192.168.1.112/centos/"
EOF
#############################################################
cat >/etc/tunasync/worker-other.conf<<EOF
[global]
name = "other_worker"
log_dir = "/data/logs/tunasync/{{.Name}}"
mirror_dir = "/data/mirrors"
concurrent = 100
interval = 240
[manager]
api_base = "http://127.0.0.1:14242"
token = ""
ca_cert = ""
[cgroup]
enable = false
base_path = "/sys/fs/cgroup"
group = "tunasync"
[server]
hostname = "localhost"
listen_addr = "127.0.0.1"
listen_port = 6001
ssl_cert = ""
ssl_key = ""
[[mirrors]]
name = "epel"
provider = "rsync"
upstream = "rsync://192.168.1.112/epel/"
use_ipv6 = false
[[mirrors]]
name = "zabbix"
provider = "rsync"
upstream = "rsync://192.168.1.112/zabbix/"
use_ipv6 = false
EOF
worker部分参数说明:
log_dir:tunasync日志路径 mirror_dir:镜像的路径 concurrent:线程数 interval:同步周期,单位分钟 api_base:manager地址 name:镜像名称 upstream:upstream同步地址
在启动服务器之前先测试远程服务器是否可以同步数据
rsync -avzhuP -H --delete --progress rsync://192.168.1.112/centos/ /data/mirrors/centos/
rsync -avzhuP -H --delete --progress rsync://192.168.1.112/epel/ /data/mirrors/epel/
rsync -avzhuP -H --delete --progress rsync://192.168.1.112/zabbix/ /data/mirrors/zabbix/
9、启动服务
cd /etc/tunasync/
tunasync manager --config manager.conf &
tunasync worker --config worker-centos.conf
tunasync worker --config worker-other.conf
后台运行的方式
cd /etc/tunasync/
tunasync manager --config manager.conf &
tunasync worker --config worker-centos.conf &
tunasync worker --config worker-other.conf &
10、查看同步状态
此处14242为manager的端口
tunasynctl list -p 14242 --all
11.更多配置资料请参考官方配置
可以参看
> tunasync manager --help
> tunasync worker --help
可以看一下 log 目录
一些 worker 配置文件示例 workers.conf。
你可能会用到的操作 tips.md。
内存释放
echo 3 > /proc/sys/vm/drop_caches &>/dev/null
cat >/etc/clean_mem.sh<<EOF
#!/bin/bash
source /etc/profile
echo 3 > /proc/sys/vm/drop_caches
EOF
chmod +x /etc/clean_mem.sh
*/1 * * * * /bin/sh /etc/clean_mem.sh &>/dev/null
mirror-web搭建¶
https://github.com/tuna/mirror-web
mirror-web是清华大学软件源开源的 web前端代码 https://mirrors.tuna.tsinghua.edu.cn/
配置外网yum
rm -f /etc/yum.repos.d/*.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo
yum clean all
yum repolist
准备下载安装包
ruby-2.6.9-1.el7.centos.x86_64.rpm
nodejs.tar.gz
rubygems-2.4.8.tgz
1.安装 nodejs
tar xf nodejs.tar.gz
cd nodejs
yum -y localinstall *.rpm
2.安装 ruby 2.2.4 and rubygems
Step 1: Install Required Packages
yum -y install gcc-c++ patch readline readline-devel zlib zlib-devel
yum -y install libyaml-devel libffi-devel openssl-devel make
yum -y install bzip2 autoconf automake libtool bison iconv-devel sqlite-devel
Step 2: Compile ruby 2.6.9 source code
cd /root/
yum -y localinstall ruby-2.6.9-1.el7.centos.x86_64.rpm
Step 3: Install rubygems
tar xf rubygems-2.4.8.tgz
cd rubygems-2.4.8/
https://blog.csdn.net/adley_app/article/details/111733908
gem sources --remove https://rubygems.org/
gem sources -a https://gems.ruby-china.com/
gem sources -l
gem sources -u
ruby setup.rb
3.安装 bundle 和 build
gem install bundle
gem install build
4.Fork mirrors source code
yum -y install git
git clone https://gitee.com/chriscentos/mirror-web.git
[root@linux-node76 mirrors]# vim Gemfile
将
source 'https://mirrors.tuna.tsinghua.edu.cn/rubygems/'
修改为
source 'https://gems.ruby-china.com/'
bundle install
jekyll build
yum -y install tmux
tmux new -s test01
jekyll serve -H 192.168.56.76 -P 80
5.下载动态文件
此步骤不需要操作
cd /data/mirrors
wget http://mirrors.tuna.tsinghua.edu.cn/static/tunasync.json -O static/tunasync.json
从此部署开始操作
cd /data/mirrors
wget http://mirrors.tuna.tsinghua.edu.cn/static/tunet.json -O static/tunet.json
mkdir -p static/status
wget http://mirrors.tuna.tsinghua.edu.cn/static/status/isoinfo.json -O static/status/isoinfo.json
6.配置修改动态文件
cd /data/mirrors/
wget -q http://127.0.0.1:14242/jobs -O static/tunasync.json
可以将此命令加入到定时任务
*/1 * * * * wget -q http://127.0.0.1:14242/jobs -O /data/mirrors/static/tunasync.json &>/dev/null
tunasynctl list -p 14242 --all
解压mirrors-web.tar.gz源码到/data/mirrors/
tar xf mirrors-web.tar.gz -C /data/mirrors/
cd /data/mirrors/
mv mirrors-web/* ./
安装nginx
yum -y install nginx
首先备份nginx原始配置文件
\cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf_bak
修改nginx配置文件将server段进行修改
vim /etc/nginx/nginx.conf
server
{
listen 80 default_server;
server_name _;
root /data/mirrors;
location ~ ^/(centos|epel|zabbix) {
index index.html index.htm;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}
error_page 500 502 503 504 /50x.html;
#include enable-php56.conf;
#include enable-php70.conf;
#include enable-php71.conf;
#include enable-php72.conf;
#include enable-php73.conf;
#include enable-php74.conf;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
}
nginx -t
没有报错则表示通过
启动nginx服务
systemctl start nginx
systemctl enable nginx
7.打开web界面进行访问
Rsync 服务器搭建¶
简单介绍¶
rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。
已支持跨平台,可以在Windows与Linux间进行数据同步。
安装部署¶
1:安装软件包:
yum install -y rsync
2:修改配置文件: /etc/rsyncd.conf
uid = root
gid = root
use chroot = yes
#下面是不同模块各自的配置和路径,仅供参考
[centos]
path = /data/mirrors/centos
comment = repository
list = true
uid = root
gid = root
hosts allow = *
[epel]
path = /data/mirrors/epel
comment = repository
list = true
uid = root
gid = root
hosts allow = *
[zabbix]
path = /data/mirrors/zabbix
comment = repository
list = true
uid = root
gid = root
hosts allow = *
启动服务¶
3:启动服务:
rsync --daemon --no-detach
后台运行:
rsync --daemon --no-detach &
客户端测试¶
4:客户端测试命令:
rsync -avzhuP -H --delete --progress rsync://192.168.1.112/centos/ /data/mirrors/centos/
rsync -avzhuP -H --delete --progress rsync://192.168.1.112/epel/ /data/mirrors/epel/
rsync -avzhuP -H --delete --progress rsync://192.168.1.112/zabbix/ /data/mirrors/zabbix/
第三方YUM搭建推荐¶
通过tunasync搭建镜像仓库
https://developer.aliyun.com/article/769489
https://github.com/tuna/tunasync
https://github.com/tuna/mirror-web
常见错误¶
yum 错误 Insufficient space in download directory
今天用yum安装libpcap的时候出现了这个错误
Insufficient space in download directory/var/cache/yum/i386/12/fedora/packages
提示下载目录空间不足
用df -h查看了一下空间使用情况,真的发现确实使用了100%
有三个方法:
1:手动删除一些不需要的东西了!
2:可以在删除文件之前试试 yum clean all 命令,它会清除yum的缓存文件。----删除的太少,而且再次使用yum时还会下载一些东西,不建议使用
3:直接去手动删除日志文件吧。但是日志文件毕竟是小的!