Linux之Yum源與Nginx服務篇

1.Yum源知識理論總結概括

Yum源概述

Yum 源 即軟件倉庫的標識,里面承載著軟件包集合

Yum源組成
包含模塊

【OS】、【everything】、【EPOL】、【debuginfo】、【source】、【update-source】

  • 【os】:簡稱operator system 它內部包含操作系統的核心組件(內核、基礎庫、系統工具),是系統運行的最低依賴包結合
  • 【everything】:包含官方支持的軟件包(開發工具、第三方包)
  • 【debuginfo]:存放著調試符號的文件,用于分析程序崩潰及其性能問題
  • 【source]:存放著軟件的源碼,一般用于二次開發或自定義編譯環境
  • 【update-source】:源碼更新的模塊包
核心參數分析
  • name :倉庫自定義所取的名字

  • baseurl : 指定倉庫的訪問路徑,在開源的url路徑中, b a s e s e a r c h 代表系統的硬件架構, basesearch代表系統的硬件架構, basesearch代表系統的硬件架構, releasever代表的是系統發行的版本號(一般情況下metalink優先級低于baseurl)

  • enabled: 是否啟用倉庫

  • gpgcheck:代表簽名驗證,其中1代表啟用 0代表禁用一旦啟用了gpgcheck,就一定需要寫gpgkey路徑

    ?

    2.Nginx知識理論總結概括

Nginx簡介

Nginx對比與傳統Apache服務器其高性能、輕量級能力更強具體可以從以下幾個方面進行概述,其優點如下:

- 高并發響應速度快,靜態文件并發能力5w/s
- 負載均衡及反向代理能力強
- 系統內存和CPU低占有率
- 可對后端服務進行健康檢查
- 可作為緩存代理服務器和郵件代理服務器
代理服務器
正向代理

好比生活中的代購 它實現的技術原理由代理服務器訪問你外網地址,但這里的客戶端并不是直接找到服務端,通常情況與服務端無法建立直接聯系

正向代理通常位于內外網設備,一般用于翻墻和公司內網連接外網
反向代理
類比我們生活中的例子就好比餐館的客戶點餐情況,客戶來到餐館首先是要求前臺點餐這里的前臺就是反向代理proxy,然后前臺確定好點餐信息后將信息給到后廚由后廚完成相關菜品,這里的技術包括`服務隱藏、負載均衡、緩存加速、安全防護`

總的來說做一個以下的概述,參考如圖:
在這里插入圖片描述

Nginx功能匯總

  • 正向代理與反向代理(正向代理則用于商品的代購、反向代理則用于處理靜態請求和動態請求

  • 負載均衡(加權輪循、IP哈希)

    輪訓:均分到服務器
    加權輪循:按服務器的性能分配權重
    IP哈希:一個IP固定一個服務
    ```?
  • 緩存加速:減少后端請求壓力,提高后端動態網頁速度

  • SSL/TLS終止:處理HTTPS解密,減輕后端服務器負載負擔

    Nginx工作原理

    Nginx工作主要會依賴各種類型模塊,比如我們常說的一些核心模塊HTTP模塊,EVENT模塊,MAIL模塊還有些基礎模塊和三方模塊比如HTTP FATCGI,HTTP Proxy,Notice

    那這些模塊有什么功能?我們現在主要還是重點來聊聊功能上Nginx三大模塊…

Handler模塊

Handler概念

也叫"處理器模塊",這類模塊主要是為了處理Web請求,并輸出處理信息和修改Header信息等操作,一般來說Handllers處理器模塊只有一個,這個,模塊主要存放于location塊中


location /static{root/data/www;			//處理static靜態資源
}location ~\.php${fastcgi pass 127.0.0.1:9000   //HTTP FastCGI模塊}
Handler常用模塊
Handler模塊作用
ngx_http_static_module返回靜態資源模塊HTML/CSS/JS
ngx_http_fastcgi_module將請求轉發至PHP-FPM等FastCGI后端
ngx_http_autoindex_module自動生成目錄
ngx_http_dav_module支持DAV協議(文件的上傳和刪除)

Filter 模塊

Fileter模塊概念

也叫“過濾器模塊”,這類模塊主要用于對處理器請求進行輸出,并且也可以修改請求頭的信息,

最后由Nginx進行輸出。它是針對請求內容進行加工的模塊,如果有多個Filter它將按序處理同一請求


location /{gzip on; 		//用gzip壓縮過濾add header X custom "example" 	//添加響應頭過濾器sub filter "old" "new";	//替換文本過濾
}
Filter常用模塊
Filter模塊作用
nginx_http_gzip_module對過濾到的Web請求實現gzip壓縮操作
nginx_http_headers_module添加或修改響應頭數據
nginx_http_sub_module替換響應頭中的文本(HTML文本元素)
nginx_http_image_file_module動態圖片調整

Proxies模塊

Proxies模塊概念

也叫“代理器模塊”,這類模塊主要用的是Nginx的HTTP Upstream模塊,通常情況會與后端一些服務

比如FastCGI進行交互,負責的是實現服務代理和負載均衡等功能


location /api{proxy_pass http;
}upstream  backend{Sever  192.168.1.8 weight= 2Server 192.168.1.9;
}
Proxies常用模塊
Proxy模塊作用
ngx_http_proxy_moduleHTTP反向代理 比如Proxy-pass
ngx_http_fastcgi_modulefastcgi協議代理(PHP-FPM)
ngx_http_uwsgi_moduleuWSGI協議代理(Python Django)
ngx_upstream_module定義后端服務器組,實現負載均衡(輪詢、IP哈希

NGINX工作原理總結

由handler作為生產者接收大量請求,然后經過Filter過濾器經過修改響應內容,將其轉發至代理服務器proxy,最后再通過代理將請求轉發到后端服務器,服務端然后將其頁面結果響應給我們前端服務器,也就是我們的瀏覽器(客戶端),然后用戶就能看到內容了。

具體工作流程也可參見下圖:

在這里插入圖片描述

Nginx進程工作原理

流程分析
  • 當Nginx服務器啟動之后,默認會產生一個監聽端口80,并啟動一個master進程,然后這個master進程會生成多個工作進程
  • 當master進程開始工作時,會通過listen中的socket,fork出很多worker進程
  • 此時worker進程會在新連接到來前變成可讀狀態,從而保證只有一個進程處理該連接,之后再由worker進行在注冊listenfd讀事件前墻accept_mutex互斥鎖,如果搶到了那么此時就會調用accept接收該連接
  • 當每個worker進程在accept這個連接之后,就可以處理請求將其響應個客戶端可讀狀態,從而保證只有一個進程處理該連接,之后再由worker進行在注冊listenfd讀事件前墻accept_mutex互斥鎖,如果搶到了那么此時就會調用accept接收該連接
  • 當每個worker進程在accept這個連接之后,就可以處理請求將其響應個客戶端
流程圖解

在這里插入圖片描述

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

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

相關文章

從單體架構到微服務:架構演進之路

引言:當“大貨車”遇上“集裝箱運輸” 在軟件開發領域,單體架構曾像一輛載滿貨物的大貨車,將所有功能打包在一個應用中。但隨著業務復雜度飆升,這輛“大貨車”逐漸陷入泥潭:啟動慢如蝸牛、故障波及全局、升級如履薄冰……

AM32電調學習解讀九:ESC上電啟動關閉全流程波形分析

這是第九篇,前面的文章把各個模塊的實現都介紹了一輪,本章是從運行的角度結合波形圖,把整個流程走一遍。 先看下一運行的配置,我把一些配置關閉了,這樣跑起來會好分析一些,不同配置跑起來效果會有差異。使用…

全球寵物經濟新周期下的亞馬遜跨境采購策略革新——寵物用品賽道成本優化三維路徑

在全球"孤獨經濟"與"銀發經濟"雙輪驅動下,寵物用品市場正經歷結構性增長。Euromonitor數據顯示,2023年全球市場規模突破1520億美元,其中中國供應鏈貢獻度達38%,跨境電商出口增速連續三年超25%。在亞馬遜流量紅…

reshape/view/permute的原理

在pytorch中,Tensor的存儲是行主序的,也就是意味著最后一個維度的元素的存儲時連續的,reshape和view并不改變元素存儲的內存,僅僅改變訪問的間隔,下面舉例說明; 比如一個23的Tensor在內存中的存儲是連續的&…

upload-labs靶場通關詳解:第11關

一、分析源代碼 $is_upload false; $msg null; if (isset($_POST[submit])) {if (file_exists(UPLOAD_PATH)) {$deny_ext array("php","php5","php4","php3","php2","html","htm","phtml"…

L1-7 最短字母串【保姆級詳細講解】

請你設計一個程序,該程序接受起始字母和目標字母作為輸入,通過在字母表中向前或向后移動來計算兩個給定字母之間的最短路徑。然后,程序會沿著最短路徑打印出從起始字母到目標字母的所有字母。例如,如果輸入“c”和“k”作為起始字…

項目QT+ffmpeg+rtsp(三)——延遲巨低的項目+雙屏顯示

文章目錄 前言雙屏顯示widget.cppwidget.h前言 對于復現情況,分為兩種情況 第一種,對于我而言,是直接解壓后,就能直接運行了 第二種,對于師兄而言,需要你構建debug后,會產生這個文件夾,執行的時候,地址應該在這,我猜的,這里面沒有dll,exe程序就找不到dll這些庫,你…

ansible進階06

復雜的循環結構 循環基礎 [studentworktest myansible]$ cat users.yml --- - name: create usershosts: serveratasks:- name: create some usersuser:name: "{{item}}"password: "{{123456|password_hash(sha512)}}"state: presentloop:- zhangsan- li…

Go 模塊版本管理

Go 模塊版本管理指南 1、創建帶注釋的 Git 標簽 基本命令 # 創建帶注釋的標簽 git tag -a v1.0.0 -m "Release version 1.0.0 - initial stable release" -a:創建帶注釋的標簽 -m:添加標簽注釋信息 # 推送標簽到遠程倉庫 git push origin v…

Java—— IO流 第一期

什么是IO流 存儲和讀取數據的解決方案 I:input O:output 流:像水流一樣傳輸數據 IO流的作用 用于讀寫數據(本地文件,網絡) IO流的分類 按照流向分類 輸出流:程序 --> 文件 輸入流:文件 --> 程序 按照…

物聯網安全技術的最新進展與挑戰

隨著物聯網(IoT)技術的飛速發展,越來越多的設備被連接到互聯網,從智能家居設備到工業控制系統,物聯網正在深刻改變我們的生活和生產方式。然而,物聯網的安全問題也日益凸顯,成為制約其發展的關鍵…

【深度學習基礎】損失函數與優化算法詳解:從理論到實踐

【深度學習基礎】損失函數與優化算法詳解:從理論到實踐 一、引言 1. 損失函數與優化算法在深度學習中的核心作用 在深度學習中,模型訓練的本質是通過不斷調整參數,使模型輸出盡可能接近真實值。這一過程的核心驅動力是損失函數(…

mvc-review

review: 1.Servlet生命周期中初始化方法:init(),init(config) public void init(ServletConfig config) throws ServletException { this.config config; this.init(); } 因此,如果我們需要…

YouTube視頻字幕轉成文章算重復內容嗎?

很多創作者誤以為「自己說的話不算抄襲」,卻不知道YouTube自動生成的字幕早已被搜索引擎存檔。 去年就有案例:某美食博主將教程視頻字幕轉為圖文,結果原創度檢測僅42%,導致頁面權重暴跌。 本文揭秘5個實操技巧:從刪除…

R語言數據可視化

R note book 文檔–輸出html格式文檔,plotly不能生成PDF文件 --- title: "R語言數據可視化" output: html_notebook ---在R語言中進行數據可視化是數據分析和呈現的重要環節,R提供了多種強大的繪圖系統和工具。以下是常見的數據可視化方法和示…

Axure難點解決分享:垂直菜單展開與收回(4大核心問題與專家級解決方案)

親愛的小伙伴,在您瀏覽之前,煩請關注一下,在此深表感謝!如有幫助請訂閱專欄! Axure產品經理精品視頻課已登錄CSDN可點擊學習https://edu.csdn.net/course/detail/40420 課程主題:垂直菜單展開與收回 主要內容:超長菜單實現、展開與收回bug解釋、Axure9版本限制等問題解…

云原生攻防2(Docker基礎補充)

Docker基礎入門 容器介紹 Docker是什么 Docker是基于Linux內核實現,最早是采用了 LXC技術,后來Docker自己研發了runc技術運行容器。 它基于Google Go語言實現,采用客戶端/服務端架構,使用API來管理和創建容器。 虛擬機 VS Docker Namespace 內核命名空間屬于容器非常核…

Spring Boot 攔截器:解鎖5大實用場景

一、Spring Boot中攔截器是什么 在Spring Boot中,攔截器(Interceptor)是一種基于AOP(面向切面編程)思想的組件,用于在請求處理前后插入自定義邏輯,實現權限校驗、日志記錄、性能監控等非業務功能…

Vue百日學習計劃Day24-28天詳細計劃-Gemini版

總目標: 在 Day 24-27 熟練掌握 Vue.js 的各種模板語法,包括文本插值、屬性綁定、條件渲染、列表渲染、事件處理和表單綁定,并能結合使用修飾符。 所需資源: Vue 3 官方文檔 (模板語法): https://cn.vuejs.org/guide/essentials/template-syntax.htmlVu…

分布式微服務系統架構第125集:AI大模型

加群聯系作者vx:xiaoda0423 倉庫地址:https://webvueblog.github.io/JavaPlusDoc/ https://1024bat.cn/ 一、user 表(用戶表) sql 復制編輯 create table if not exists user (id bigint auto_increment comment id pri…