From e8c1dcdf2b99524d139d95b9d589b942c66e3954 Mon Sep 17 00:00:00 2001 From: tastytea Date: Sat, 24 Oct 2020 11:58:05 +0200 Subject: [PATCH] Add CGI caching to nginx example. --- doc/nginx-example.conf | 42 ++++++++++++++---------------------------- 1 file changed, 14 insertions(+), 28 deletions(-) diff --git a/doc/nginx-example.conf b/doc/nginx-example.conf index e7f4f0a..e08d1d5 100644 --- a/doc/nginx-example.conf +++ b/doc/nginx-example.conf @@ -1,47 +1,33 @@ +# Use 100 MiB cache with a 1 MiB memory zone (enough for ~8,000 keys). +# Delete data that has not been accessed for 30 minutes. +fastcgi_cache_path /var/cache/nginx/avatar levels=1:2 keys_zone=avatar:1m + max_size=100m inactive=30m use_temp_path=off; +fastcgi_cache_key "$scheme$request_method$host$request_uri"; +add_header X-Cache $upstream_cache_status; + server { listen 443 ssl; listen [::]:443 ssl; server_name avatar.example.com; - # access_log /var/log/nginx/avatar main; - error_log /var/log/nginx/avatar warn; + error_log /var/log/nginx/avatar_log warn; ssl_certificate /var/lib/dehydrated/certs/avatar.example.com/fullchain.pem; ssl_certificate_key /var/lib/dehydrated/certs/avatar.example.com/privkey.pem; - # 86400 seconds = 1 day - expires 86400; - add_header Cache-Control "public, max-age=86400" always; + expires 6h; location / { include /etc/nginx/fastcgi_params; - fastcgi_pass unix:/var/run/cgi-fcgiwrap.socket-1; - fastcgi_param SCRIPT_FILENAME /usr/bin/libravatarserv; - - # fastcgi_param LIBRAVATARSERV_DEFAULT_FALLBACK 404; - # fastcgi_param LIBRAVATARSERV_REDIRECT_NOFALLBACK 0; - # fastcgi_param LIBRAVATARSERV_REDIRECT_NOUSER 0; - } -} - -server { - listen 80; - listen [::]:80; - server_name avatar.example.com; - - # access_log /var/log/nginx/avatar main; - error_log /var/log/nginx/avatar warn; - - expires 86400; - add_header Cache-Control "public, max-age=86400" always; - - location / { - include /etc/nginx/fastcgi_params; - fastcgi_pass unix:/var/run/cgi-fcgiwrap.socket-1; + fastcgi_pass unix:/var/run/cgi-fcgiwrap.socket-1; fastcgi_param SCRIPT_FILENAME /usr/bin/libravatarserv; # fastcgi_param LIBRAVATARSERV_DEFAULT_FALLBACK 404; # fastcgi_param LIBRAVATARSERV_REDIRECT_NOFALLBACK 0; # fastcgi_param LIBRAVATARSERV_REDIRECT_NOUSER 0; + + fastcgi_cache avatar; + fastcgi_cache_valid 200 2h; # Cache answers for up to 2 hours. + fastcgi_cache_lock on; # Relay only one identical request at a time. } }