Liunx使用nginx和http搭建yum-server倉庫

文章目錄

  • 1. yum-server的搭建方式
  • 2. nginx搭建yum-server倉庫
    • 2.1. 安裝配置nginx
    • 2.2 配置yum-server的rpm
    • 2.3. 同步yum源相關包
      • 2.3.1 rsync同步源
      • 3.3.1 reposync同步源
    • 2.4. 配置客戶端訪問yum配置
    • 2.5. 驗證測試
  • 3. http服務搭建yum-server倉庫
    • 3.1. 安裝配置http
    • 3.2 配置yum-server的rpm
    • 3.3. 同步yum源相關包
    • 3.4. 配置客戶端訪問yum配置
    • 3.5. 驗證測試
  • 4. 疑問和思考
    • 4.1 配置多個yum-server倉庫節點,該如何操作?
    • 4.2 如何從公有云同步yum-server的rpm?
      • 4.2.1 rsync同步源
      • 4.2.2 reposync同步源
  • 5. 參考文檔

探討在linux環境下的搭建yum-server倉庫,特別是使用nginx搭建yum-server提供yum服務。

1. yum-server的搭建方式

yum-server通常使用如下2種方式進行搭建,提供遠程yum-server倉庫服務

  • 使用nginx搭建yum源
  • 使用普通的http服務,搭建yum源

2. nginx搭建yum-server倉庫

2.1. 安裝配置nginx

ngx的安裝本文不做介紹,可以網上獲取,可以參考 LINUX安裝nginx詳細步驟

2.2 配置yum-server的rpm

nginx的配置如下

  • nginx.conf配置
cat nginx.conf
user  nobody;
worker_processes  8;pid         log/nginx.pid;events {use epoll;worker_connections  100000;
}
worker_rlimit_nofile 100000;http {include       mime.types;default_type  application/octet-stream;server_tokens off;check_shm_size 100m;server_names_hash_bucket_size 128;client_header_buffer_size 32k;large_client_header_buffers 4 32k;client_max_body_size 8m;sendfile          on;tcp_nopush        on;tcp_nodelay       on;keepalive_timeout  0;fastcgi_connect_timeout 30;fastcgi_send_timeout 30;fastcgi_read_timeout 30;fastcgi_buffer_size 64k;fastcgi_buffers 4 64k;fastcgi_busy_buffers_size 128k;fastcgi_temp_file_write_size 128k;gzip              on;gzip_min_length   1k;gzip_buffers      4 16k;gzip_http_version 1.0;gzip_comp_level   2;gzip_types        text/plain application/x-javascript text/css application/xml text/javascript;gzip_vary         on;charset      utf-8;#代理公網源緩存配置proxy_cache_path /data1/cache/nginx levels=1:2 keys_zone=my_cache:500m;access_log   on;log_not_found off;error_page   400 403 405 408 /40x.html ;error_page   500 502 503 504 /50x.html ;#INCLUDE_APPinclude yum.conf.d/yum.nginx.conf;
}
  • yum.nginx.conf
server {listen 80;server_name  mirrors.xxx.com;error_log /data/log/tnginx_1_0_0-1.0/error.log;access_log /data/log/tnginx_1_0_0-1.0/yum-access.log;charset utf-8;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;client_max_body_size 512m;client_body_buffer_size 256k;proxy_connect_timeout 30;proxy_send_timeout 30;proxy_read_timeout 60;proxy_buffer_size 256k;proxy_buffers 4 256k;proxy_busy_buffers_size 256k;proxy_temp_file_write_size 256k;proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;proxy_max_temp_file_size 128m;location / {root /data1/yum_data;autoindex on;}
}

定義/data1/yum_data位yum源的相關目錄
在這里插入圖片描述

2.3. 同步yum源相關包

可以從公有云進行同步,比如阿里云、騰訊云、清華等。

不同的廠商支持的同步協議不同,通常是用rsync和reposync兩種類型,需要根據不同的協議選擇對應的方式進行同步

  • 如果支持支持rsync, 就用常規的rsync方案同步.
  • 如果軟件源不支持rsync, rpm的包可以用reposync工具同步

本次實例只 同步和拷貝epel的其中一個包,放到/var/www/html/ 目錄
返回同步yum源相關包

2.3.1 rsync同步源

  1. 內部環境源
# 同步內部源
rsync -avzP epel/7/x86_64 xx.xx.xx.xx:/var/www/html/epel/7/

在這里插入圖片描述

  1. 公有云源,支持rsync協議

中科大yum源:
rsync://mirrors.ustc.edu.cn/centos/7/os

# 同步公有云的源,中科大
rsync -avz rsync://rsync.mirrors.ustc.edu.cn/epel/7

3.3.1 reposync同步源

  1. 下載repo
  • 騰訊云
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo
  • 阿里云
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
  1. 同步源
 #reposync將根據剛下載的repo下載rpm包到指定文件夾/var/www/html/
reposync -r base /var/www/html/
reposync -r updates /var/www/html/
reposync -r epel /var/www/html/

2.4. 配置客戶端訪問yum配置

cat /etc/yum.repos.d/epel.repo 
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
failovermethod=priority
gpgcheck=0
enabled=1
baseurl=http://mirrors.xxx.com/epel/7/$basearch/

2.5. 驗證測試

# 清理緩存
yum clean all
#緩存本地yum源中的軟件包信息
yum makecache# 查看所有可用的yum源yum repolist all# 查看yum可以安裝的組件
yum search all
yum list |grep epel# 測試yum安裝
yum install -y httpd

在這里插入圖片描述

# 測試yum安裝
yum install -y zabbix

在這里插入圖片描述
說明已經能夠正常安裝

3. http服務搭建yum-server倉庫

3.1. 安裝配置http

# 安裝httpd
yum install -y httpd# 啟動httpd服務
systemctl start httpd# 檢查80端口是否正常啟動
netstat -ntlp|grep 80

3.2 配置yum-server的rpm

通過cat /etc/httpd/conf/httpd.conf服務默認的目錄是DocumentRoot “/var/www/html”

cd /var/www/html# 安裝createrepo
yum install -y createrepo# 初始化庫
createrepo -pdo /var/www/html/ /var/www/html/ # 產看yum庫,會創建目錄repodata
ll

在這里插入圖片描述

3.3. 同步yum源相關包

參考同步yum源相關包

3.4. 配置客戶端訪問yum配置

# 配置客戶端訪問yum配置
vim /etc/yum.repos.d/epel.repo 
[epel] 
name=Server
baseurl=http://xx.xx.xx.xx
#是否將該倉庫做為軟件包提供源
enabled=1
#是否進行gpg校驗
gpgcheck=0

3.5. 驗證測試

# 清理緩存
yum clean all
#緩存本地yum源中的軟件包信息
yum makecache# 查看所有可用的yum源yum repolist all# 查看yum可以安裝的組件
yum search all
yum list |grep epel# 測試yum安裝
yum install -y httpd

在這里插入圖片描述

# 測試yum安裝
yum install -y zabbix

在這里插入圖片描述
說明已經能夠正常安裝

4. 疑問和思考

4.1 配置多個yum-server倉庫節點,該如何操作?

不同yum節點配置rsync同步相關的配置即可

# 同步內部源
rsync -avzP epel/7/x86_64 xx.xx.xx.xx:/var/www/html/epel/7/

4.2 如何從公有云同步yum-server的rpm?

參考同步yum源相關包, 更多操作方法可以進一步擴展,參考相關公有云的官網

4.2.1 rsync同步源

  1. 公有云源,支持rsync協議

中科大yum源:
rsync://mirrors.ustc.edu.cn/centos/7/os

# 同步公有云的源,中科大
rsync -avz rsync://rsync.mirrors.ustc.edu.cn/epel/7

4.2.2 reposync同步源

  • 騰訊云
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo
  • 阿里云
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
 #reposync將根據剛下載的repo下載rpm包到指定文件夾/var/www/html/
reposync -r base /var/www/html/
reposync -r updates /var/www/html/
reposync -r epel /var/www/html/

5. 參考文檔

  • CentOS 7搭建本地yum源和局域網yum源
  • 搭建自己的yum倉庫

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/697077.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/697077.shtml
英文地址,請注明出處:http://en.pswp.cn/news/697077.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基于微信小程序校園洗衣系統設計與實現(PHP后臺)可行性分析

博主介紹:黃菊華老師《Vue.js入門與商城開發實戰》《微信小程序商城開發》圖書作者,CSDN博客專家,在線教育專家,CSDN鉆石講師;專注大學生畢業設計教育和輔導。 所有項目都配有從入門到精通的基礎知識視頻課程&#xff…

Firewalld防火墻

Firewalld概述 Firewalld firewalld防火墻是centos7系統默認防火墻的防火墻管理工具,取代了之前的iptables防火墻,也是工作在網絡層,屬于包過濾防火墻。 支持網絡區域所定義的網絡鏈接以及接口安全等級的動態防火墻管理工具至此IPv4、IPv6…

ECMAScript modules規范示例詳解

ECMAScript modules(簡稱 ES modules)是JavaScript的標準模塊系統。每個模塊都是一個獨立的JavaScript文件,可以在其中定義導出的變量、函數或類,并從其他模塊中導入這些變量、函數或類。以下是ES modules規范的一些示例和詳解&am…

Go 線程池實現案例

Go 語言并不像其他一些語言(例如 Java 或 C#)那樣直接提供一個線程池的概念。相反,Go 使用 goroutines 來實現并發,它是一種比線程更輕量級的并發執行單元。不過,仍然可以實現一個類似線程池的結構,來管理和…

studio one 6正版多少錢?怎么購買studio one 更便宜,有優惠券哦

Presonus Studio One Studio One是由美國PreSonus公司開發的數字音頻工作站,作為DAW屆的新人,功能強大且全面,雖然它不像其他DAW那樣擁有歷史和聲譽,但它是一個可愛的軟件,包含許多其它DAW所不具備的實用功能&#xff…

web基礎及http協議 (二)----------Apache相關配置與優化

一、httpd 安裝組成 http 服務基于 C/S 結構 1 .常見http 服務器程序 httpd apache,存在C10K(10K connections)問題 nginx 解決C10K問題lighttpd IIS .asp 應用程序服務器 tomcat .jsp 應用程序服務器 jetty 開源的servlet容器&#xf…

選擇 Python IDE(VSCode、Spyder、Visual Studio 2022和 PyCharm)

前言 當選擇 Python 開發工具時,你需要考慮自己的需求、偏好和項目類型。下面是對VSCode、Spyder、Visual Studio 2022和 PyCharm的對比推薦總結: 結論 1、如果你專注于“數據科學”,選擇SpyDer沒錯。 內容 Visual Studio Code (VS Code)…

react項目中的redux以及react-router-dom

掃盲知識點&#xff1a; 1 傳遞自定義事件&#xff1a; <button onClick{(e)>{change(e)}}>獲取事件對象e</button> 將事件對象e傳遞到了change的這個方法中。 2 同時傳遞自定義事件和參數&#xff1a; <button onClick{(e)>{change(‘我…

基于微信小程序失物招領系統設計與實現(PHP后臺+Mysql)可行性分析

博主介紹&#xff1a;黃菊華老師《Vue.js入門與商城開發實戰》《微信小程序商城開發》圖書作者&#xff0c;CSDN博客專家&#xff0c;在線教育專家&#xff0c;CSDN鉆石講師&#xff1b;專注大學生畢業設計教育和輔導。 所有項目都配有從入門到精通的基礎知識視頻課程&#xff…

CleanMyMac2024蘋果電腦清理工具最新使用全面評價

作為軟件評價專家&#xff0c;我對CleanMyMac X進行了全面的評估&#xff0c;以下是我的詳細評價&#xff1a; CleanMyMac X4.14.6全新版下載如下: https://wm.makeding.com/iclk/?zoneid49983 一、功能 CleanMyMac X的功能相當全面&#xff0c;幾乎涵蓋了Mac電腦清理所需的…

nginx 具體介紹

一&#xff0c;nginx 介紹 &#xff08;一&#xff09;nginx 與apache 1&#xff0c; Apache event 模型 相對于 prefork 模式 可以同時處理更多的請求 相對于 worker 模式 解決了keepalive場景下&#xff0c;長期被占用的線程的資源浪費問題 因為有監聽線程&#…

【數據結構】鏈式隊列

鏈式隊列實現&#xff1a; 1.創建一個空隊列 2.尾插法入隊 3.頭刪法出隊 4.遍歷隊列 一、main函數 #include <stdio.h> #include "./3.linkqueue.h" int main(int…

文檔控件DevExpress Office File API v23.2新版亮點 - 支持SVG

DevExpress Office File API是一個專為C#, VB.NET 和 ASP.NET等開發人員提供的非可視化.NET庫。有了這個庫&#xff0c;不用安裝Microsoft Office&#xff0c;就可以完全自動處理Excel、Word等文檔。開發人員使用一個非常易于操作的API就可以生成XLS, XLSx, DOC, DOCx, RTF, CS…

數據結構之單鏈表的操作

main函數 #include <stdio.h> #include "./03_linkList.h" int main(int argc, const char *argv[]) { linkList* head creatr_linkList(); insertHead_linkL…

運維SRE-19 網站Web中間件服務-http-nginx

Ans自動化流程 1.網站集群核心協議&#xff1a;HTTP 1.1概述 web服務&#xff1a;網站服務&#xff0c;網站協議即可. 協議&#xff1a;http協議,https協議 服務&#xff1a;Nginx服務&#xff0c;Tengine服務....1.2 HTTP協議 http超文本傳輸協議&#xff0c;負責數據在網站…

更高效的構建工具-vite

更高效的構建工具-vite 前言Vite是什么Vite和webpack的比較1. 運行原理2. 使用成本 Vite的初體驗 前言 首先我們要認識什么時構建工具&#xff1f; 企業級項目都具備什么功能呢&#xff1f; Typescript&#xff1a;如果遇到ts文件&#xff0c;我們需要使用tsc將typescript代碼…

Android約束布局中用ConstraintHelper實現過渡動畫效果

前些天發現了一個蠻有意思的人工智能學習網站,8個字形容一下"通俗易懂&#xff0c;風趣幽默"&#xff0c;感覺非常有意思,忍不住分享一下給大家。 &#x1f449;點擊跳轉到教程 一.創建一個類CircularRevealHelper繼承ConstraintHelper代碼如下 /*** Author: ly* Da…

【Linux從青銅到王者】 基礎IO

本篇重點&#xff1a;文件描述符&#xff0c;重定向&#xff0c;緩沖區&#xff0c;磁盤結構&#xff0c;文件系統&#xff0c;inode理解文件的增刪查改&#xff0c;查找一個文件為什么一定要有路徑&#xff0c;動靜態庫&#xff0c;有的時候為什么找不到庫&#xff0c;動態庫的…

JavaWeb——003Axios Vue組件庫(Element)

目錄 一、Ajax 1、同步與異步?編輯 2、原生Ajax&#xff08;繁瑣&#xff09;?編輯 2.1、寫一個簡易的Ajax 3、Axios&#xff08;推薦使用&#xff09;?編輯 3.1、Axios入門 3.2、Axios請求方式別名 3.3、案例&#xff1a;基于Vue及Axios完成數據的動態加載展示?編…

Flink CDC 3.0 表結構變更時導致webUI接口無反應原因

Flink CDC 3.0 表結構變更時導致webUI接口無反應&#xff01; 原因&#xff1a;因為deliverCoordinationRequestToCoordinator和requestJob都是SchedulerNG中方法&#xff0c;該類的線程模型是單線程執行&#xff0c;所以在deliverCoordinationRequestToCoordinator執行表結構…