亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Nginx Proxy緩存的具體實(shí)現(xiàn)

 更新時(shí)間:2024年08月08日 12:01:22   作者:李心怡1  
本文主要介紹了Nginx Proxy緩存的具體實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

Proxy緩存

緩存類型

  • 網(wǎng)頁(yè)緩存 (公網(wǎng))CDN
  • 數(shù)據(jù)庫(kù)緩存 memcache redis
  • 網(wǎng)頁(yè)緩存 nginx-proxy
  • 客戶端緩存 瀏覽器緩存

模塊

  • ngx_http_proxy_module

語(yǔ)法

緩存開(kāi)關(guān)
Syntax: 	    proxy_cache zone | off;
Default: 	    proxy_cache off;
Context: 	http, server, location

代理緩存
Syntax: 	proxy_cache_path path [levels=levels] 			keys_zone=name:size[inactive=time] [max_size=size] 			[manager_files=number]
Default:  —
Context: http
example:proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=one:10m;

緩存維度
Syntax: 	    proxy_cache_key string;  定義緩存唯一key,通過(guò)唯一key來(lái)進(jìn)行hash存取,緩存文件名
Default: 	    proxy_cache_key $scheme$proxy_host$request_uri;
Context: 	http, server, location

緩存過(guò)期
Syntax: 	    proxy_cache_valid [code ...] time;
Default: 	    —
Context: 	http, server, location
proxy_cache_valid 200 302 10m;
proxy_cache_valid 404      1m;

啟動(dòng)緩存

1 延續(xù)代理實(shí)驗(yàn)

2 設(shè)置nginx-2為緩存服務(wù)器

vim /etc/nginx/nginx.conf

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    gzip  on;

    include /etc/nginx/conf.d/*.conf;
    #開(kāi)啟反向代理緩存
    proxy_cache_path /app/limou/cache levels=1:2 keys_zone=proxy_cache:10m max_size=10g inactive=2h use_temp_path=off;
}

proxy_cache_path命令中的參數(shù)及對(duì)應(yīng)配置說(shuō)明如下:

1、proxy_cache_path /app/laochen/cache:

指定了緩存文件存儲(chǔ)的路徑為 /app/laochen/cache。

2、levels=1:2:

設(shè)置了緩存目錄的層級(jí)結(jié)構(gòu)。這里 levels=1:2 表示在緩存目錄下,使用兩個(gè)級(jí)別的子目錄來(lái)存儲(chǔ)緩存文件。第一級(jí)目錄有 1 個(gè)字符(例如 A),第二級(jí)目錄有 2 個(gè)字符(例如 00),這種結(jié)構(gòu)有助于管理大量緩存文件,避免單個(gè)目錄中文件過(guò)多。

3、keys_zone=proxy_cache:10m:

定義了一個(gè)名為 proxy_cache 的共享內(nèi)存區(qū)域,用于存儲(chǔ)緩存鍵的元數(shù)據(jù)(例如緩存的路徑、過(guò)期時(shí)間等)。10m 表示這個(gè)內(nèi)存區(qū)域的大小為 10 兆字節(jié)。

4、max_size=10g:

設(shè)置了緩存的最大總大小為 10 GB。超過(guò)這個(gè)大小的緩存會(huì)被清理,以保持總緩存大小在限制之內(nèi)。

5、inactive=60m:

定義了緩存的過(guò)期時(shí)間。如果緩存項(xiàng)在 60 分鐘內(nèi)沒(méi)有被訪問(wèn),它將被標(biāo)記為過(guò)期并最終被清理。

6、use_temp_path=off:

表示緩存的臨時(shí)文件不使用臨時(shí)路徑。默認(rèn)情況下,Nginx 會(huì)在寫入緩存文件時(shí)先使用臨時(shí)文件,如果設(shè)置為 off,則直接寫入最終緩存路徑。

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

server {
    listen       80;
    server_name  localhost;

    access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        #開(kāi)啟反向代理緩存
        # Proxy_cache   使用名為 的對(duì)應(yīng)緩存配置
		proxy_cache proxy_cache;
        # proxy_cache_valid  200 206 304 301 302 12h;
        # 對(duì)http狀態(tài)碼為200、304…的內(nèi)容緩存12小時(shí)
        proxy_cache_valid 200 304 12h;
        # 設(shè)置不同相應(yīng)碼的緩存時(shí)間,除了上面配置12小時(shí)的,其他的的存10分鐘
        proxy_cache_valid any 10m;
        # proxy_cache_key $uri  定義緩存唯一key,通過(guò)唯一key來(lái)進(jìn)行hash存取
        proxy_cache_key $host$uri$is_args$args;
        # add_header:判斷數(shù)據(jù)包是否緩存了該信息
        #緩存命中情況如何在http頭中體現(xiàn),以及在nginx日志中查看
        add_header  Nginx-Cache "$upstream_cache_status";
         # proxy_next_upstream 出現(xiàn)502-504或錯(cuò)誤,會(huì)跳過(guò)此臺(tái)服務(wù)器訪問(wèn)下一臺(tái)服務(wù)器
        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
        
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}

mkdir -p /app/limou/cache

  • 準(zhǔn)備緩存文件的存放目錄

systemctl restart nginx

  • 重啟服務(wù)器

3 使用PC客戶機(jī),再次訪問(wèn)nginx-2服務(wù)器

4 通過(guò)PC客戶機(jī)瀏覽器開(kāi)發(fā)者功能。觀察是否命中緩存。

未命中miss

在這里插入圖片描述

命中hit

在這里插入圖片描述

提示:新創(chuàng)建的網(wǎng)頁(yè)文件,初次訪問(wèn)均為miss。

nginx緩存工作原理

未啟動(dòng)緩存

啟動(dòng)緩存第一次查詢

  • 第一次訪問(wèn),proxy_cache并沒(méi)有找到對(duì)應(yīng)的緩存文件(未命中緩存MISS),所以當(dāng)?shù)谝淮握?qǐng)求完成的同時(shí),proxy_cache會(huì)保持緩存:

啟動(dòng)緩存第二次查詢

  • 同一個(gè)url第二次訪問(wèn),當(dāng)同一個(gè)文件再次到達(dá)源站,proxy_cache就會(huì)找到其對(duì)應(yīng)的緩存文件(命中緩存HIT)直接返回給請(qǐng)求端,無(wú)需再執(zhí)行php程序

到此這篇關(guān)于Nginx Proxy緩存的具體實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Nginx Proxy緩存內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Nginx日志輸出配置json格式

    Nginx日志輸出配置json格式

    本文主要介紹了Nginx日志輸出配置json格式,包含log_format和access_log兩種命令,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07
  • Nginx+Tomcat負(fù)載均衡及動(dòng)靜分離群集的實(shí)現(xiàn)

    Nginx+Tomcat負(fù)載均衡及動(dòng)靜分離群集的實(shí)現(xiàn)

    本文主要介紹了Nginx+Tomcat負(fù)載均衡及動(dòng)靜分離群集的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • nginx的zabbix 5.0安裝部署的方法步驟

    nginx的zabbix 5.0安裝部署的方法步驟

    之前大家可能經(jīng)常會(huì)基于apache去部署zabbix,但是這樣會(huì)偶爾遇到一些問(wèn)題,今天小編就帶大家操作一下基于nginx的zabbix5.0的部署。感興趣的可以了解一下
    2021-07-07
  • Nginx為已安裝nginx動(dòng)態(tài)添加模塊

    Nginx為已安裝nginx動(dòng)態(tài)添加模塊

    本篇文章主要介紹了Nginx之為已安裝nginx動(dòng)態(tài)添加模塊的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • nginx 配置代理服務(wù)地址最后多加反斜杠和不加反斜杠的區(qū)別小結(jié)

    nginx 配置代理服務(wù)地址最后多加反斜杠和不加反斜杠的區(qū)別小結(jié)

    在使用Nginx配置代理服務(wù)時(shí),地址最后是否添加反斜杠(/)會(huì)對(duì)代理的URL處理產(chǎn)生影響,下面就來(lái)具體介紹一下,感興趣的可以了解一下
    2024-08-08
  • Mac M1 Nginx 配置多站點(diǎn)的實(shí)現(xiàn)

    Mac M1 Nginx 配置多站點(diǎn)的實(shí)現(xiàn)

    這篇文章主要介紹了Mac M1 Nginx 配置多站點(diǎn)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Nginx服務(wù)器設(shè)置網(wǎng)站驗(yàn)證訪問(wèn)的方法

    Nginx服務(wù)器設(shè)置網(wǎng)站驗(yàn)證訪問(wèn)的方法

    這篇文章主要介紹了Nginx服務(wù)器設(shè)置網(wǎng)站驗(yàn)證訪問(wèn)的方法,通過(guò)設(shè)置密碼來(lái)要求登錄網(wǎng)站目錄的用戶進(jìn)行驗(yàn)證,需要的朋友可以參考下
    2015-07-07
  • 詳解Nginx中HTTP的keepalive相關(guān)配置

    詳解Nginx中HTTP的keepalive相關(guān)配置

    這篇文章主要介紹了Nginx中HTTP的keepalive相關(guān)配置,以及Nginx的Httpd守護(hù)進(jìn)程相關(guān)的keepalive timeout配置,需要的朋友可以參考下
    2016-01-01
  • nginx?location/區(qū)別詳解

    nginx?location/區(qū)別詳解

    本文主要介紹了nginx?location/區(qū)別詳解,主要介紹了8中不同的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • Nginx搭建https服務(wù)器教程

    Nginx搭建https服務(wù)器教程

    這篇文章主要為大家詳細(xì)介紹了Nginx搭建https服務(wù)器教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04

最新評(píng)論