一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

云服務(wù)器|WEB服務(wù)器|FTP服務(wù)器|郵件服務(wù)器|虛擬主機|服務(wù)器安全|DNS服務(wù)器|服務(wù)器知識|Nginx|IIS|Tomcat|

服務(wù)器之家 - 服務(wù)器技術(shù) - Nginx - 如何利用nginx做代理緩存淺析

如何利用nginx做代理緩存淺析

2022-01-12 17:19不如喫茶去 Nginx

Nginx緩存主要是用于減輕后端服務(wù)器的負(fù)載,提高網(wǎng)站并發(fā)量,提升用戶體驗度,下面這篇文章主要給大家介紹了關(guān)于如何利用nginx做代理緩存的相關(guān)資料,需要的朋友可以參考下

用到緩存就是為了減少后端的壓力,提高網(wǎng)站并發(fā)。在網(wǎng)站設(shè)計中,為了更好的去中心化,我們會盡量將請求集中到前端,在前端就能處理掉。

常用的緩存類型有客戶端緩存、代理緩存、服務(wù)端緩存等。

客戶端緩存【緩存存到本地,如數(shù)據(jù)存到用戶的瀏覽器緩存中,從本地讀取】代理緩存【緩存存到代理或中間件上,如從服務(wù)端獲取到的數(shù)據(jù)放置在nginx上,訪問時直接讀取nginx的緩存】服務(wù)端緩存【緩存存到服務(wù)端,經(jīng)常使用redis和memchache,比如key-value格式的數(shù)據(jù)】

如何利用nginx做代理緩存淺析

代理緩存簡略示意:

如何利用nginx做代理緩存淺析

 nginx代理緩存配置:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
proxy_cache_path /opt/www/cache levels=1:2 keys_zone=test_cache:10m max_size=10g inactive=60m use_temp_path=off;
 
server {
     listen 80;
     server_name cache.test.com;
     #rewrite ^/(.*)$ https://${server_name}$1 permanent;    #跳轉(zhuǎn)到https
 
     if ($request_uri ~ ^/(test.html|login|register|password|\/reset)) {
            set $cookie_nocache 1;
     }
 
     location / {
            proxy_cache test_cache; #要和proxy_cache_path 的 keys_zone值相等
            proxy_pass http://127.0.0.1:8081;
            proxy_cache_valid 200 304 12h;
            proxy_cache_valid any 10m;
            proxy_cache_key $host$uri$is_args$args;
            proxy_no_cache $cookie_nocache $arg_nocache $arg_comment;
            proxy_no_cache $http_pragma $http_authorization;
    }
}

參數(shù)解釋:

  • proxy_cache_path 緩存文件路徑
  • levels 設(shè)置緩存文件目錄層次;levels=1:2 表示兩級目錄
  • keys_zone 設(shè)置緩存名字、開辟空間的大小,10m表示10 mb的大小
  • max_size 此目錄最大空間大小,10g表示10 gb的大小。假如超過了10g,nginx會根據(jù)自己的淘汰刪除規(guī)則刪除一部分緩存數(shù)據(jù),默認(rèn)覆蓋掉緩存時間最長的緩存數(shù)據(jù)。
  • inactive 在指定時間內(nèi)沒人訪問則被刪除,60m表示60分鐘
  • use_temp_path 用來存放臨時文件,建議設(shè)置為off

關(guān)于更多的參數(shù)可以參考nginx官網(wǎng):module ngx_http_proxy_module:http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache_path

  • proxy_cache test_cache 表示已經(jīng)開啟了代理緩存,若不想使用代理緩存,將該值配置成 off。
  • proxy_pass 代理的地址
  • proxy_cache_valid 200 304 12h;狀態(tài)碼為200,304的響應(yīng)過期時間為 12h。
  • proxy_cache_valid any 10m;除了200和304狀態(tài)碼的其它狀態(tài)碼的緩存時間為10分鐘。
  • proxy_cache_key $host$uri$is_args$args; 設(shè)置默認(rèn)緩存的key。$is_args表示請求中的url是否帶參數(shù),如果帶參數(shù),$is_args值為"?"。如果不帶參數(shù),則是空字符串。$args表示http請求中的參數(shù)。
  • proxy_no_cache 當(dāng)url中匹配到了 test.html , login, register, password 和 reset 時,不緩存此url所對應(yīng)的頁面。

配置完畢,先檢查下語法是否正確nginx -tc /etc/nginx/nginx.conf,再重載服務(wù)nginx -s reload

附:平滑重啟nginx

?
1
2
3
4
5
6
7
8
9
10
11
[root@localhost nginx]# nginx -s reload
 
[root@localhost nginx]# ps -elf|grep nginx
 
1 s root 10175 1 0 80 0 - 27830 sigsus 09:52 ? 00:00:00 nginx: master process nginx
 
5 s www 11165 10175 0 80 0 - 28893 ep_pol 18:10 ? 00:00:00 nginx: worker process
 
5 s www 11166 10175 0 80 0 - 28893 ep_pol 18:10 ? 00:00:00 nginx: worker process
 
5 s www 11167 10175 0 80 0 - 27830 ep_pol 18:10 ? 00:00:00 nginx: cache manager process

重啟完成這里會多一個cache manager,其主要作用和memcached的lru算法相似,刪除過期緩存。而如果緩存沒過期其上有服務(wù)器數(shù)據(jù)發(fā)生變化則依舊訪問是錯誤的數(shù)據(jù)??梢酝ㄟ^程序?qū)崿F(xiàn)。

總結(jié)

到此這篇關(guān)于如何利用nginx做代理緩存的文章就介紹到這了,更多相關(guān)nginx做代理緩存內(nèi)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://blog.csdn.net/qq_32737755/article/details/121969064

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 强波多野结衣女教师 | 赤坂丽女医bd无删减在线观看 | 亚洲AV国产精品无码精 | 咪咪爱小说 | 丝袜兔女郎被啪在线观看91 | 四虎一影院区永久精品 | 亚洲国产精品久久卡一 | 羞羞麻豆国产精品1区2区3区 | 91网红福利精品区一区二 | 欧美精品国产一区二区三区 | 亚洲国产资源 | 成人国产午夜在线视频 | 亚洲AV永久无码精品老司机蜜桃 | 欧美添下面视频免费观看 | 超h 超重口 高h 污肉1v1 | www视频免费看 | 污污免费| 3黑人巨大vs北岛玲 3d肉浦团在线观看 3d动漫免费 | 国产精品全国探花在线观看 | 国产天天在线 | 校花的第一次好紧好爽 | 日韩一区二区三区不卡视频 | 国产精品一区二区不卡的视频 | 手机看片日韩1024你懂的首页 | 香蕉国产成版人视频在线观看 | 精品国产日韩亚洲一区在线 | 女人叉开腿让男人桶 | 国产高清在线精品一区二区 | 免看一级一片一在线看 | 曹逼网站 | 日韩大片免费看 | 明星ai智能人脸替换造梦在线播放 | 114级毛片免费观看 1024亚洲天堂 | 国内精品一区二区在线观看 | 久久99亚洲AV无码四区碰碰 | 国产亚洲精品高清在线 | 99国产精品热久久久久久夜夜嗨 | 四虎影院久久久 | 久久青草免费91线频观看站街 | aaaa黄 | 九九热在线视频观看这里只有精品 |