Назад | Перейти на главную страницу

Кэш Nginx с PHP-FPM

У меня есть следующий конфигурационный файл niginx:

server {
    listen       80;
    server_name  pajilleros.com www.pajilleros.com;
    access_log off;

    location / {
        root   /home/website/public_html;
    index /silex/web/index.php;
    try_files $uri $uri/ /rewrite.php?$args;
    }

    # Rewrite to another folder
    location /themes {
    rewrite ^/themes/(.*) /silex/web/themes/$1;
    }

    #Rewrite of page
    location /some-page {
        try_files $uri $uri/ /silex/web/index.php;
    }
    location /another-page {
        try_files $uri $uri/ /silex/web/index.php;
    }


    #error_page  404              /404.html;

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

location ~ \.php$ {

        root           /home/website/public_html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
        include        fastcgi_params;

    fastcgi_buffers 256 16k; 
    fastcgi_buffer_size 128k; 
    fastcgi_connect_timeout 5s; 
    fastcgi_send_timeout 120s; 
    fastcgi_read_timeout 120s; 
    fastcgi_busy_buffers_size 256k; 
    fastcgi_temp_file_write_size 256k; 
    reset_timedout_connection on; 

    }

}

Я хочу кэшировать страницы / some-page и / another-page как статические 30 секунд, но я знаю только, как сделать кеш с помощью proxy_pass, в этом случае я не использую proxy_pass, только php-fpm.

Я могу это сделать с помощью nginx? или я должен использовать лак как тайник?

Спасибо !

Да, вы можете сделать это с помощью Nginx. Используйте для этого FastCGI cache. Вот один из многих руководств, как это сделать:

https://www.digitalocean.com/community/tutorials/how-to-setup-fastcgi-caching-with-nginx-on-your-vps