如何缓存PHP生成的静态JS文件

时间:2018-12-05 21:42:49

标签: php nginx caching mautic

我专门使用电子邮件自动化软件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 ...]
}

0 个答案:

没有答案