


利用nginx proxy_cache进行网站缓存托底配置 nginx fastcgi cache nginx cache 配置 nginx file cach
众所周知nginx proxy_cache可以对请求的response进行缓存,起到类似CDN的作用,甚至有比CDN提供更多的功能,还可以用来缓存托底数据,当后台tomcat挂掉的时候,nginx直接将缓存中的托底数据返回给用户。
直接贴上详细配置
upstream tomcat_localhost {
//注意此处超时时间不要设置太长
server 127.0.0.1:8080 weight=10 max_fails=1 fail_timeout=1s;
}
1.nginx缓存空间配置,该配置定义在nginx配置文件的server上方即可
#proxy_cache_path : 代理缓存的缓存文件路径,/export/Data/huishou.jd.local 该目录一定要提前创建好,否则配置文件检测会失败,并且该目录不能删除,删除后缓存消失
# levels=1:2 nginx会在上述配置的缓存文件路径下再创建两级目录,第一级目录命名为一个字符,第二级目录命名为2个字符
#keys_z max_size=100m 定义缓存的名称和缓存大小 ,缓存的名称会在下面的location中使用,缓存大小可以结合自己服务器内存和系统需要缓存的内容大小进行考虑设置
# inactive=1d 缓存文件的有效时间,缓存到达该设置的时间后无论是否在使用都会从缓存路径下移除,然后回源获取新数据在生成缓存文件
proxy_cache_path /export/Datal/cache levels=1:2 keys_z max_size=300m inactive=1d;
2.nginx缓存托底拦截配置,该配置在具体的location内
location / {
#配置上面定义的缓存空间名称,必选配置
proxy_cache my_cache;
#设置缓存的key,还可以根据url中的参数进行自定义;$args表示所有参数,也可以使用其中的一个参数,例如:$arg_name,表示只取参数列表中的name参数,此处可以灵活配置,必选配置
proxy_cache_key $host$uri$is_args$args;
#设置绕过缓存的请求url,即url中包含该配置的值,则该请求不从缓存中获取数据,非必须配置
proxy_cache_bypass $arg_noCache;
#根据响应码设置缓存时间,超过这个时间即使缓存文件中有缓存数据,nginx也会回源请求新数据。此处的值还可以根据response中header中设置的Cache-Control缓存时间进行控制,header中的设置优先级最高,如果此处和header都没有设置缓存时间,则nginx不会生成缓存文件,非必须配置,如果此处不做配置,header中必须有设置
proxy_cache_valid 200 1m;
#此处是托底配置,旧的总比出错强,当nginx请求后台服务器报错的时候,如果返回配置的错误响应码,nginx则直接取缓存文件中的旧数据返回给用户,托底使用必选配置
proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
#缓存并发锁,当nginx缓存没有命中的时候只有一个请求回源tomcat请求数据,其他请求会等待。非必选配置
proxy_cache_lock on;
#等待锁超时时间设置 非必选配置
proxy_cache_lock_timeout 1s;
proxy_pass tomcat_localhost ;
}
3.经过上述配置后,nginx的缓存托底配置就完成了,在缓存文件有效时间内,即使后台tomcat挂掉,被缓存过的页面或接口也能正常提供服务。
以上就介绍了利用nginx proxy_cache进行网站缓存托底配置,包括了nginx,cache方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











Wie konfiguriere ich Nginx in Windows? Installieren Sie NGINX und erstellen Sie eine virtuelle Hostkonfiguration. Ändern Sie die Hauptkonfigurationsdatei und geben Sie die Konfiguration der virtuellen Host ein. Starten oder laden Nginx neu. Testen Sie die Konfiguration und sehen Sie sich die Website an. Aktivieren Sie selektiv SSL und konfigurieren Sie SSL -Zertifikate. Stellen Sie die Firewall selektiv fest, damit Port 80 und 443 Verkehr.

Sie können den Namen des Docker -Containers abfragen, indem Sie den Schritten folgen: Alle Container auflisten (Docker PS). Filtern Sie die Containerliste (unter Verwendung des GREP -Befehls). Ruft den Containernamen ab (befindet sich in der Spalte "Namen").

Startschritte des Docker -Containers: Ziehen Sie das Containerbild: Führen Sie "Docker Pull [Mirror Name]" aus. Erstellen eines Containers: Verwenden Sie "Docker erstellen [Optionen] [Spiegelname] [Befehle und Parameter]". Starten Sie den Container: Führen Sie "Docker Start [Container Name oder ID]" aus. Containerstatus überprüfen: Stellen Sie sicher, dass der Container mit "Docker PS" ausgeführt wird.

So bestätigen Sie, ob Nginx gestartet wird: 1. Verwenden Sie die Befehlszeile: SystemCTL Status Nginx (Linux/Unix), Netstat -ano | FindStr 80 (Windows); 2. Überprüfen Sie, ob Port 80 geöffnet ist; 3. Überprüfen Sie die Nginx -Startmeldung im Systemprotokoll. 4. Verwenden Sie Tools von Drittanbietern wie Nagios, Zabbix und Icinga.

Erstellen Sie einen Container in Docker: 1. Ziehen Sie das Bild: Docker Pull [Spiegelname] 2. Erstellen Sie einen Container: Docker Ausführen [Optionen] [Spiegelname] [Befehl] 3. Starten Sie den Container: Docker Start [Containername]

Die Methoden, die die Nginx -Version abfragen können, sind: Verwenden Sie den Befehl nginx -v; Zeigen Sie die Versionsrichtlinie in der Datei nginx.conf an. Öffnen Sie die Nginx -Fehlerseite und sehen Sie sich den Seitentitel an.

So konfigurieren Sie einen Nginx -Domänennamen auf einem Cloud -Server: Erstellen Sie einen Datensatz, der auf die öffentliche IP -Adresse des Cloud -Servers zeigt. Fügen Sie virtuelle Hostblöcke in die NGINX -Konfigurationsdatei hinzu, wobei der Hörport, Domänenname und das Root -Verzeichnis der Website angegeben werden. Starten Sie Nginx neu, um die Änderungen anzuwenden. Greifen Sie auf die Konfiguration des Domänennamens zu. Weitere Hinweise: Installieren Sie das SSL -Zertifikat, um HTTPS zu aktivieren, sicherzustellen, dass die Firewall den Verkehr von Port 80 ermöglicht, und warten Sie, bis die DNS -Auflösung wirksam wird.

Wenn der Nginx -Server ausgeht, können Sie die folgenden Schritte zur Fehlerbehebung ausführen: Überprüfen Sie, ob der Nginx -Prozess ausgeführt wird. Zeigen Sie das Fehlerprotokoll für Fehlermeldungen an. Überprüfen Sie die Syntax der Nginx -Konfiguration. Stellen Sie sicher, dass Nginx über die Berechtigungen verfügt, die Sie für den Zugriff auf die Datei benötigen. Überprüfen Sie den Dateideskriptor, um Grenzen zu öffnen. Bestätigen Sie, dass Nginx den richtigen Port zuhört. Fügen Sie Firewall -Regeln hinzu, um den Nginx -Verkehr zuzulassen. Überprüfen Sie die Einstellungen der Reverse -Proxy, einschließlich der Verfügbarkeit von Backend Server. Für weitere Unterstützung wenden Sie sich bitte an den technischen Support.
