搜尋
首頁後端開發php教程Nginx系列(十四 nginx快取)

一.代理模組快取

1.設定檔

<code><span>#注:proxy_temp_path和proxy_cache_path指定的路径必须在同一分区</span>
proxy_temp_path /web/tmp/nginx;
<span>#设置Web缓存区名称为cache_one,内存缓存空间大小为100MB,1天没有被访问的内容自动清除,硬盘缓存空间大小为1GB。</span>
proxy_cache_path /web/cache/nginx levels=<span>1</span>:<span>2</span> keys_z>100m inactive=<span>1</span>d max_size=<span>1</span>g;
</code>
<code>location / {
            <span>#如果后端的服务器返回502、504、执行超时等错误,自动将请求转发到upstream负载均衡池中的另一台服务器,实现故障转移。</span>
            proxy_next_upstream http_502 http_504 error timeout invalid_header;
            proxy_cache cache_one;
            <span>#对不同的HTTP状态码设置不同的缓存时间</span>
            proxy_cache_valid <span>200</span><span>304</span><span>1</span>h;
            <span>#以域名、URI、参数组合成Web缓存的Key值,Nginx根据Key值哈希,存储缓存内容到二级缓存目录内</span>
            proxy_cache_key <span>$host</span><span>$uri</span><span>$is_args</span><span>$args</span>;
            proxy_pass http://webserver;
            proxy_redirect off;
            proxy_<span>set</span>_header Host <span>$host</span>;
            proxy_<span>set</span>_header X-Real-IP <span>$remote_addr</span>;
            proxy_<span>set</span>_header X-Forwarded-For <span>$proxy_add_x_forwarded_for</span>;
        }</code>

反向代理的快取功能是一個重定向,不是根據url產生快取靜態檔案的功能

二.fastcgi模組快取

1.設定檔

二.fastcgi模組快取

1.設定檔

<code>fastcgi_temp_path /web/tmp/fastcgi;
<span>#设置fastcgi缓存路径 levels代表目录层级,1:2会生成16*256,2:2会生成256*256 keys_zone代表缓冲区名称 inactive代表过期时间 max_size代表最多用多少磁盘空间</span>
fastcgi_cache_path /web/cache/fastcgi levels=<span>1</span>:<span>2</span> keys_z>100m inactive=<span>1</span>d max_size=<span>1</span>g;
</code>
<code><span>location</span><span>~ [^/]\.php(/|$)</span> {
            <span>fastcgi_cache</span> cache_two;
            <span>fastcgi_cache_valid</span><span>200</span><span>10m</span>;
            <span>fastcgi_cache_methods</span> GET HEAD;
            <span>#忽视以下头信息</span><span>fastcgi_ignore_headers</span><span>"Cache-Control"</span><span>"Expires"</span><span>"Set-Cookie"</span>;
            <span>fastcgi_cache_key</span><span>"<span>$scheme</span><span>$request_method</span><span>$host</span><span>$request_uri</span>"</span>;
            <span>#添加状态头信息</span><span>add_header</span> X-Cache-CFC <span>"<span>$upstream_cache_status</span> - <span>$upstream_response_time</span>"</span>;

            <span>fastcgi_index</span> index.php;
            <span>fastcgi_pass</span><span>127.0.0.1:9000</span>;
            <span>include</span>      fastcgi_params;

            <span>fastcgi_split_path_info</span><span> ^(.+?\.php)(/.*)$</span>;
            <span>fastcgi_param</span> SCRIPT_FILENAME <span>$document_root</span><span>$fastcgi_script_name</span>;
            <span>fastcgi_param</span> SCRIPT_NAME <span>$fastcgi_script_name</span>;
            <span>fastcgi_param</span> PATH_INFO <span>$fastcgi_path_info</span>;
            <span>fastcgi_param</span> PATH_TRANSLATED <span>$document_root</span><span>$fastcgi_path_info</span>;
        }   </code>

注意:
1.如果fastcgi回應的頭資訊裡有Expires Cache-Control Set-Cookie的時候,fastcgi_cache是​​不起作用的,所以需要加上fastcgi_ignore_headers這個設定項目。

2.新增頭資訊X-Cache-CFC 是為了測試快取是否起作用,$upstream_cache_status包含以下幾個狀態:
MISS 未命中,請求傳送到後端
HIT 快取命中 EXPIRED 快取已經過期請求被傳送到後端

UPDATING 正在更新緩存,將使用舊的應答

STALE 後端將會得到過期的回應

BYPASS 快取被繞過了

三.參考

http://www.qttc.net/201307355.html https://serversforhackers.com/nginx-caching/

http://www.ha97.com/5194.html

http://www.cnxct.com/several-reminder-in-nginx-fastcgi_cache-and-php-session_cache_limiter/

🎜 以上就介紹了Nginx系列(十四 nginx快取),包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。 🎜 🎜 🎜
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Nginx Proxy Manager配置解析与优化Nginx Proxy Manager配置解析与优化Sep 26, 2023 am 09:24 AM

NginxProxyManager配置解析与优化概述:NginxProxyManager是一个基于Nginx的反向代理管理工具,可以帮助我们方便地配置和管理反向代理服务器。在使用NginxProxyManager的过程中,我们可以通过对其配置进行解析与优化,提高服务器的性能与安全性。配置解析:配置文件位置和结构:NginxProxyManag

nginx中怎么配置使用proxy protocol协议nginx中怎么配置使用proxy protocol协议May 18, 2023 am 08:47 AM

proxyprotocol在nginx中应用我们知道nginx是一个web服务器和代理服务器,它一般工作在proxyserver或者负载均衡软件(Haproxy,AmazonElasticLoadBalancer(ELB)的后面。客户端首先请求proxyserver或者LSB负载均衡软件,然后再到nginx进行真实的web访问。因为经过了多层软件,所以客户端的一些信息比如ip地址,端口号等可能就会被隐藏,这对于我们问题分析,数据统计都是不利的。因为对于nginx来说,我们希望能够获得真实的客户端

入职后,我才明白什么叫Cache入职后,我才明白什么叫CacheJul 31, 2023 pm 04:03 PM

事情其实是这样的,当时领导交给我一个perf硬件性能监视的任务,在使用perf的过程中,输入命令perf list,我看到了以下信息:我的任务就要让这些cache事件能够正常计数,但关键是,我根本不知道这些misses、loads是什么意思。

Nginx Proxy Manager下的容器与微服务的部署策略Nginx Proxy Manager下的容器与微服务的部署策略Sep 27, 2023 pm 01:06 PM

NginxProxyManager下的容器与微服务的部署策略,需要具体代码示例摘要:随着微服务架构的流行,容器化技术成为了现代软件开发的重要组成部分。而在微服务架构中,NginxProxyManager扮演着很重要的角色,用于管理和代理微服务的流量。本文将介绍如何使用NginxProxyManager来部署和管理容器化的微服务,并提供相关的代码示

Nginx Proxy Manager教程:快速入门指南Nginx Proxy Manager教程:快速入门指南Sep 27, 2023 pm 05:39 PM

NginxProxyManager教程:快速入门指南,需要具体代码示例引言:随着网络技术的发展,代理服务器成为我们日常使用互联网的一部分。NginxProxyManager是一个基于Nginx的代理服务器管理平台,可以帮助我们快速建立和管理代理服务器。本篇文章将为大家介绍NginxProxyManager的快速入门指南,以及一些具体的代码示例。一

如何使用Nginx Proxy Manager实现多台服务器的负载均衡如何使用Nginx Proxy Manager实现多台服务器的负载均衡Sep 27, 2023 pm 09:42 PM

如何使用NginxProxyManager实现多台服务器的负载均衡NginxProxyManager是一个基于Nginx开发的代理服务器管理工具,它提供了一个简单易用的Web界面,可以方便地配置和管理Nginx代理服务器。在实际应用中,我们经常需要将请求分发到多台服务器上,以实现负载均衡和提高系统的性能和可用性。本文将介绍如何使用NginxProx

如何使用Nginx Proxy Manager实现快速缓存HTML页面如何使用Nginx Proxy Manager实现快速缓存HTML页面Sep 28, 2023 am 10:58 AM

如何使用NginxProxyManager实现快速缓存HTML页面引言:在现代网络应用中,快速加载网页是一个重要的需求。为了提高用户体验,我们可以使用NginxProxyManager来实现快速缓存HTML页面。本文将向您展示如何使用NginxProxyManager来实现这一目标,并提供具体的代码示例。第一部分:安装与配置NginxProxy

Nginx Proxy Manager原理与实践:优化网站性能的关键Nginx Proxy Manager原理与实践:优化网站性能的关键Sep 26, 2023 am 11:06 AM

NginxProxyManager原理与实践:优化网站性能的关键,需要具体代码示例引言:在当今互联网时代,网站性能对于用户体验和搜索引擎优化至关重要。为了提高网站的性能,一个有效的方法是使用Nginx作为反向代理服务器来管理和分发流量。本文将介绍NginxProxyManager的原理与实践,展示如何通过NginxProxyManager优化网站

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能