Nginx和CDN運用

一.Web緩存代理

1.工作機制
  • 代替客戶機向網站請求數據,從而可以隱藏用戶的真實IP地址。
  • 將獲得的網頁數據(靜態Web元素)保存到緩存中并發送給客戶機,以便下次請求相同的數據時快速響應

2.代理服務器的概念
  • 代理服務器是一個位于客戶端和原始(資源)服務器之間的服務器,為了從原始服務器取得內容,客戶端向代理服務器發送一個請求并指定目標原始服務器,然后代理服務器向原始服務器轉交請求并將獲得的內容返回給客戶端。
  • 緩存代理對于Web至關重要,尤其對于大型高負載Web站點。緩存可作為性能優化的一個重要手段,可以極大減輕后端服務器的負載。通常對于靜態資源,即較少經常更新的資源,如圖片,css或js等進行緩存,從而在每次刷新瀏覽器的時候,不用重新請求,而是從緩存里面讀取,這樣就可以減輕服務器的壓力。
3.代理服務器的作用
  • 存儲一些之前給訪問過的,且可能要被再次訪問的靜態網頁資源對象,使客戶端可以直接從緩存代理服務器獲取資源,從而減少上游源服務器的負載壓力,加快網站的整體訪問速度。
  • 代理服務器還可以代替客戶端去獲取源服務器的資源,從而隱藏客戶端的真實地址。
4.常見的Web緩存代理應用
  • 本地實現 Nginx ?Squid ?Varnish
  • 云環境遠端實現 ?CDN
  • 數據庫緩存代理:Redis ?Memcached

二.Nginx緩存代理部署

準備三臺服務器都安裝Nginx

  • 192.168.86.10
  • 192.168.86.20
  • 192.168.86.30
1.初始化操作
systemctl stop firewalld
setenforce 0
2.上傳Nginx yum源安裝Nginx
cd /etc/yum.repos.d/
rz -E 上傳Nginx yum源
yum install -y nginx
systemctl enable --now nginx
3. 準備測試界面
systemctl enable --now nginxcd /usr/share/nginx/html/
vim test.html#然后上傳一張圖片

?192.168.86.20:

頁面測試:

192.168.86.20?

頁面測試:

?關閉兩臺服務器長連接

vim /etc/nginx/nginx.conf

4.設置Nginx緩存服務器配置(192.168.86.10)
mkdir /data/nginx/cache -p
chown nginx:nginx /data/nginx/cache/vim /etc/nginx/nginx.cnf
添加配置:
proxy_cache_path /data/nginx/cache levels=1 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off;定義服務器池:
upstream webservers {server 192.168.86.20:80;server 192.168.86.30:80;
{

vim /etc/nginx/conf.d/default.conf

?三.CDN

CDN的全稱是Content Delivery Network,即內容分發網絡。其目的是通過在現有的Internet中增加一層新的CACHE(緩存)層,將網站的內容發布到最接近用戶的網絡”邊緣“的節點,使用戶可以就近取得所需的內容(就近原則),提高用戶訪問網站的響應速度。從技術上全面解決由于網絡帶寬小、用戶訪問量大、網點分布不均等原因,提高用戶訪問網站的響應速度。

作用:
  • 在最接近用戶的網絡邊緣增加一層CDN緩存代理服務器,將源站點服務器的內容發布到CDN做緩存,可以使用戶就近取得所需的內容,從而提高用戶訪問網站的響應速度。
  • 總結一句話為CDN能夠給Web網站內容做緩存,還可降低網絡延遲。
工作原理:
  • 先將源站點服務器的靜態網頁資源緩存到CDN節點上,用戶請求資源時,通過與DNS的配合,再根據用戶的IP地址和請求的URL,找到最靠近用戶的CDN節點,然后CDN節點會將資源數據快速地分發給用戶,使每用戶的請求不需要都從源站點服務器獲取。從而避免了網絡擁塞,降低了源站點服務器的負載壓力,提高用戶訪問資源的速度和體驗。
CDN的內容是如何獲取到的?
  • 讓用戶直接訪問資源,如果CDN有資源則可以命中緩存并直接響應返回給用戶;如果沒有命中到緩存則會將請求發送給上游源站點服務器獲取資源,并同步到CDN的緩存中
  • 對于熱點資源,可以先做緩存預熱,再讓用戶訪問資源,即可命中CND中的緩存并直接響應返回給用戶

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

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

相關文章

Kubernetes面試整理-如何監控Kubernetes集群的健康和性能?

監控 Kubernetes 集群的健康和性能是確保集群穩定運行的重要任務。以下是一些常用的方法和工具來監控 Kubernetes 集群: 1. Prometheus 和 Grafana Prometheus 是一個開源的系統監控和報警工具,Grafana 是一個開源的分析和監控平臺。兩者通常一起使用來監控 Kubernetes 集群。…

k8s token加新節點

在 master 節點執行 kubeadm token create --print-join-command得到token和cert,這兩個參數在2個小時內可以重復使用,超過以后就得再次生成 kubeadm join apiserver.k8s.com --token mpfjma.4vjjg8flqihor4vt --discovery-token-ca-cert-hash sha…

【入門】5分鐘了解卷積神經網絡CNN是什么

本文來自《老餅講解-BP神經網絡》https://www.bbbdata.com/ 目錄 一、卷積神經網絡的結構1.1.卷積與池化的作用2.2.全連接層的作用 二、卷積神經網絡的運算2.1.卷積層的運算2.2.池化的運算2.3.全連接層運算 三、pytorch實現一個CNN例子3.1.模型的搭建3.2.CNN完整訓練代碼 CNN神…

【Dison夏令營 Day 04】如何用 Python 編寫簡單的數字猜謎游戲代碼

上個周末,我整理了一份可以用 Python 編寫的游戲列表。但為什么呢? 如果您是 Python 程序員初學者,編寫有趣的游戲可以幫助您更快更好地學習 Python 語言,而不會被語法之類的東西所困擾。我在學習 Python 的時候曾制作過一些這樣…

Hadoop-03-Hadoop集群 免密登錄 超詳細 3節點公網云 分發腳本 踩坑筆記 SSH免密 服務互通 集群搭建 開啟ROOT

章節內容 上一節完成: HDFS集群XML的配置MapReduce集群XML的配置Yarn集群XML的配置統一權限DNS統一配置 背景介紹 這里是三臺公網云服務器,每臺 2C4G,搭建一個Hadoop的學習環境,供我學習。 之前已經在 VM 虛擬機上搭建過一次&…

短視頻矩陣系統搭建APP源碼開發

前言 短視頻矩陣系統不僅有助于提升品牌影響力和營銷效率,還能幫助企業更精準地觸達目標受眾,增強用戶互動,并利用數據分析來持續優化營銷策略。 一、短視頻矩陣系統是什么? 短視頻矩陣系統是一種通過多個短視頻平臺進行內容創作…

Vue 3 實戰教程(快速入門)

Vue 3 實戰教程(快速入門) Vue.js 是一個用于構建用戶界面的漸進式框架,Vue 3 是 Vue 的最新版本,帶來了許多改進和新特性。本文將通過一個簡單的項目示例,帶你快速入門 Vue 3 的基礎使用。 環境設置 安裝 Node.js …

多多代播24小時值守:電商直播時代是帶貨爆單的關鍵

在電商直播盛行的今天,直播帶貨已成為品牌與消費者溝通的關鍵。然而,流量波動大,競爭激烈,使品牌面臨諸多挑戰。因此,許多品牌尋求專業代播服務,并特別強調24小時值守的重要性。 流量來源的不穩定性是一個顯…

《VUE.js 實戰》讀書筆記

1. 初識vue.js MVVM模式從MVC模式演化而來,但是MVVM模式更多應用在前端,MVC則是前后端共同表現。傳統開發模式:jQuery RequireJS ( SeaJS ) artTemplate ( doT ) Gulp ( Grunt)。vue.js可以直接通過script引入方式開發,也可以…

Linux下安裝RocketMQ:從零開始的消息中間件之旅

感謝您閱讀本文,歡迎“一鍵三連”。作者定會不負眾望,按時按量創作出更優質的內容。 ?? 1. 畢業設計專欄,畢業季咱們不慌,上千款畢業設計等你來選。 RocketMQ是一款分布式消息中間件,具有高吞吐量、低延遲、高可用性…

本末倒置!做660+880一定要避免出現這3種情況!

每年都有不少人做過660題,但是做過之后,并沒有真正理解其中的題目,所以做過之后效果也不好!再去做880題,做的也會比較吃力。 那該怎么辦呢,不建議你繼續做880題,先把660給吃透再說。 接下來給…

PostgreSQL使用教程

安裝 PostgreSQL 您可以從 PostgreSQL 官方網站下載適合您操作系統的安裝程序,并按照安裝向導進行安裝。 啟動數據庫服務器 安裝完成后,根據您的操作系統,通過相應的方式啟動數據庫服務器。 連接到數據庫 可以使用命令行工具(如 p…

Objective-C使用塊枚舉的細節

對元素類型的要求 在 Objective-C 中,NSArray 只能存儲對象類型,而不能直接存儲基本類型(例如 int)。但是,可以將基本類型封裝在 NSNumber 等對象中,然后將這些對象存儲在 NSArray 中。這樣,en…

Maven編譯打包時報“PKIX path building failed”異常

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 文章目錄 方法11.報錯信息2.InstallCert.java3.生成證書文件 jssecacerts4.復制 jssecacerts 文件5. 然后重啟Jenkins 或者maven即可 方法21.下載證書2. 導入證書執行keytool…

7.優化算法之分治-快排歸并

0.分治 分而治之 1.顏色分類 75. 顏色分類 - 力扣(LeetCode) 給定一個包含紅色、白色和藍色、共 n 個元素的數組 nums ,原地對它們進行排序,使得相同顏色的元素相鄰,并按照紅色、白色、藍色順序排列。 我們使用整數…

Elasticsearch (1):ES基本概念和原理簡單介紹

Elasticsearch(簡稱 ES)是一款基于 Apache Lucene 的分布式搜索和分析引擎。隨著業務的發展,系統中的數據量不斷增長,傳統的關系型數據庫在處理大量模糊查詢時效率低下。因此,ES 作為一種高效、靈活和可擴展的全文檢索…

PHP爬蟲類的使用技巧與注意事項

php爬蟲類的使用技巧與注意事項 隨著互聯網的迅猛發展,大量的數據被不斷地生成和更新。為了方便獲取和處理這些數據,爬蟲技術應運而生。PHP作為一種廣泛應用的編程語言,也有許多成熟且強大的爬蟲類庫可供使用。在本文中,我們將介…

Qt Creator 的設置文件保存位置

在使用 Qt Creator 進行開發時,備份或遷移設置(例如文本編輯器偏好、語法高亮等)是常見需求。了解這些設置文件在不同操作系統中的保存位置,可以簡化這個過程。本文將為您詳細介紹 Qt Creator 保存設置文件的位置。 默認文件位置 Qt Creator 會創建多個文件和目錄來存儲其…

springboot系列八: springboot靜態資源訪問,Rest風格請求處理, 接收參數相關注解

文章目錄 WEB開發-靜態資源訪問官方文檔基本介紹快速入門注意事項和細節 Rest風格請求處理基本介紹應用實例注意事項和細節思考題 接收參數相關注解基本介紹應用實例PathVariableRequestHeaderRequestParamCookieValueRequestBodyRequestAttributeSessionAttribute ?? 上一篇…

微服務-網關Gateway

個人對于網關路由的理解: 網關就相當于是一個項目里面的保安,主要作用就是做一個限制項。(zuul和gateway兩個不同的網關) 在路由中進行配置過濾器 過濾器工廠:對請求或響應進行加工 其中filters:過濾器配置…