КЭШИРОВАНИЕ NGINX PHP FPM
Кэширование является важной техникой оптимизации производительности в веб-разработке. Сочетание Nginx и PHP-FPM можно использовать для улучшения производительности вашего сайта. Nginx является быстрым и легковесным веб-сервером, который может использоваться для обслуживания статического контента. PHP-FPM (FastCGI Process Manager) позволяет разделить обработку PHP-кода на отдельные процессы, что повышает производительность и позволяет управлять использованием ресурсов. Они могут быть сконфигурированы для кэширования динамического контента, что позволяет сократить время обработки запросов и уменьшить нагрузку на сервер.Пример кода на PHP для кэширования результатов выполнения функции может выглядеть следующим образом:
 
function get_data() {    $data = false;    $cache_key = 'cache_key';    //check if cache key exists in cache    if (apc_exists($cache_key)) {        $data = apc_fetch($cache_key);    } else {        //if not in cache, query database for data        $data = query_database_for_data();        //store data in cache for next request        apc_add($cache_key, $data, 60); //60 seconds as a cache time    }    return $data;}Этот код проверяет, есть ли ключ в кэше, и, если есть, использует данные из кэша. Если ключа нет в кеше, он запрашивает данные из базы данных и сохраняет их в кэше для использования при следующем запросе.Кроме того, вы можете сконфигурировать Nginx, чтобы кэшировать статический контент и установить время жизни кэша:location /static/ {    #enable caching    proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=static_cache:10m inactive=60m;    proxy_cache_key "$scheme$request_method$host$request_uri";                    #serve cached content if available and not expired    proxy_cache_revalidate on;    proxy_cache_valid 200 60m;                    #pass requests to PHP-FPM for dynamic content    fastcgi_pass unix:/var/run/php-fpm.sock;    include fastcgi_params;}Этот код настраивает локацию для кэширования статического контента и передачи динамического контента PHP-FPM для обработки. Proxy_cache_path устанавливает путь к каталогу кэша и настройки, а proxy_cache_valid устанавливает время жизни кэша. При наличии кэшированных данных nginx возвращает их клиенту, минуя PHP-FPM, сэкономив при этом ресурсы сервера и уменьшив время ответа сервера.
Настройка связки nginx и php-fpm
Apache против Nginx. Apache есть место в 2019м? Сравнение двух лидирующих HTTP серверов
Настройка Nginx для эффективной работы с Wordpress и PHP-FPM
Настройка кэширования в Nginx для ускорения сайтов (Николай Лавлинский)
Настройка кэширования в Nginx
Настройка nginx wordpress php-fpm. Nginx или apache для wordpress? Почему nginx?
Установка NGINX и php-fpm в Ubuntu 20.04


















