Linux基础——Nginx代理+本地Yum源+Reposync同步官方yum源

发布时间 2023-11-17 11:30:15作者: gkhost

Nginx代理+本地Yum源+Reposync同步官方yum源

 

Niginx安装

#第一部分:nginx.service服务

[root@BCeuler21 yum.repos.d]# cat /usr/lib/systemd/system/nginx.service
[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/run/nginx/nginx.pid
ExecStartPre=/usr/bin/rm -f /run/nginx/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=mixed
PrivateTmp=true

[Install]
WantedBy=multi-user.target

 

创建进程pid存放nginx.pid目录

mkdir /run/nginx/

 

 

创建日志目录/var/log/nginx

mkdir /var/log/nginx

 

创建执行文件nginx软连接

ln -sf /usr/local/nginx/sbin/nginx /usr/sbin/nginx

 

 

 

验证

which nginx

 

 

#第二部分:修改配置文件conf/nginx.conf和conf.d/nginx.conf

#定义执行用户root、日志、匹配conf.d/*.conf配置文件、执行进程、单进程连接数

注意:全局配置(/usr/local/nginx/conf/nginx.conf),删除http{}配置避免与include ../conf.d/*.conf子配置冲突;

cat /usr/local/nginx/conf/nginx.conf
#使用root用户
user root;
#user  nobody;
#worker_processes  1;

#nginx报错文件
#error_log  logs/error.log;
error_log  /var/log/nginx/error.log  notice;
#error_log  logs/error.log  info;

#活动进程存放的文件
pid        /var/run/nginx/nginx.pid;

#访问子目录配置文件
include ../conf.d/*.conf;

#客户端最大连接数
events {
    worker_connections  1024;
}

 

 

#定义http服务:服务器端口、根目录发布、编码、开启index注意:子目录配置(/usr/local/nginx/conf.d/nginx.conf),http{}配置包含服务器port和发布目录,可以通过client web浏览器访问,列出目录查看;

[root@BCeuler21 yum.repos.d]# cat /usr/local/nginx/conf.d/test.conf
http {
    server {
        # 监听当前服务端口
        listen          8081;
        listen          [::]:8081;

        # 实现文件服务发布
        location / {
                root /yumdata;
                autoindex on;
                autoindex_exact_size off;
                charset utf-8;
        }
    }
}

 

 

#验证配置

#检查nginx配置
nginx -t

 

#加入启动项、启动服务、查看服务状态

#服务加入启动项
systemctl enable nginx
#查看服务状态
systemctl status nginx
#启动服务
systemctl start nginx
#查看nginx进程
ps -ef | grep nginx
#查看nginx端口
netstat -anltp | grep nginx

 

 

#第三部分:载入配置、测试代理服务、验证目录发布

#载入配置

#载入nginx配置
nginx -s reload

 

#测试代理服务

nginx -t

 

#验证目录发布

#查看和下载nginx发布目录及文件
curl -O http://192.168.56.120:8081/update/Packages/bluez-debuginfo-5.54-9.oe1.x86_64.rpm
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
100 4389k  100 4389k    0     0  91.2M      0 --:--:-- --:--:-- --:--:-- 91.2M

 

自建本地yum源

#第一部分:安装createrepo包

yum list | grep  createrepo
createrepo_c.x86_64                                     0.16.0-2.oe1                                       @baseos  
yum install -y createrepo_c.x86_64

 

#第二部分:同步在线yum源到本地

#同步在线yum源到本地目录/yumdata/
mkdir /yumdata
reposync -p /yumdata/ --repoid=update
注释:
-p:指定本地缓存目录;
--repoid:指定缓存/etc/yum.repos.d/bclinux.repo中yun源的update中的包;
            查看repoid,yum repolist

#下载在线yum源新增rpm包到本地(忽略本地已有的rpm包)
reposync -n --repoid=update -p /yumdata/

参考:https://blog.csdn.net/qq_50573146/article/details/129922553

 

 

#第三部分:在rpm包根目录创建yum元数据

#rpm包目录创建repodata,‘-v’输出详情
cd /yumdata/update/Packages/
createrepo . -v

 

#第四部分:客户端创建repo文件、验证yum源

#创建repo文件

根据yum节点ip和conf.d/nginx.conf中server,定义端口访问yum目录“createrepo . -v”
vim /etc/yum.repos.d/test.repo
[baseos]
name=BC-Linux-release - baseos
baseurl=http://mirrors.bclinux.org:8081/update/Packages/
gpgcheck=0
enabled=1

 

 

#更新yum缓存

yum clean all
yum makecache

 

#验证

yum repolist

 

 

参考:

https://blog.csdn.net/qq_43842093/article/details/130439341