我专门使用电子邮件自动化软件Mautic。 Mautic拥有一个动态生成的JS跟踪代码(/mtc.js
),但该生成未缓存。我正在使用nginx作为我的网络服务器。
此处的逻辑操作是使用fastcgi_cache缓存文件的输出。如何使用fastcgi_cache缓存PHP生成的JS文件?有更好的选择吗?
以下是我的虚拟主机的相关部分(不包括Cerbot的内容):
fastcgi_cache_path /var/www/mail.zachrussell.net/cache levels=1:2 keys_zone=mail.zachrussell.net:100m inactive=60m;
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
server {
server_name mail.zachrussell.net www.mail.zachrussell.net;
access_log /var/www/mail.zachrussell.net/logs/access.log;
error_log /var/www/mail.zachrussell.net/logs/error.log;
root /var/www/mail.zachrussell.net/public;
index index.php;
set $skip_cache 0;
if ($request_method = POST) {
set $skip_cache 1;
}
if ($query_string != "") {
#set $skip_cache 1;
}
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_cache_bypass $skip_cache;
fastcgi_no_cache $skip_cache;
fastcgi_cache mail.zachrussell.net;
fastcgi_cache_valid 60m;
}
[... certbot stuff ...]
}