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

Работа с Nginx fastcgi_cache php-fpm cache и конфигурацией кеширования статических файлов?

Вики Nginx очень расплывчато объясняет, как правильно настроить nginx с php-fpm с fastcgi_caching для сайтов, имеющих файлы cookie, то есть wordpress, drupal, vbulletin и т. Д.

Я загрузил модифицированный сценарий установки оболочки nginx bash под названием centmin из http://vbtechsupport.com/796/ и хотя он автоматически устанавливает серверы nginx v1.0.2, php 5.3.6 php-fpm, mariadb 5.2.6 mysql, memcached 1.4.5 и осадный тест с помощью сценария оболочки, ему не хватает параметров конфигурации для настройки fastcgi_caching для кэширования php.

Также отсутствует настройка для кэширования статических файлов для локально обслуживаемых файлов. Есть ли смысл использовать proxy_cache для статических файлов, когда они находятся на одном диске?

У кого-нибудь есть несколько советов и информационных ссылок на информацию, чтобы прочитать учебники по правильной настройке php (php-fpm) fastcgi_caching, а также для кеширования локально находящихся статических файлов?

Спасибо

Есть ли смысл использовать proxy_cache для статических файлов, когда они находятся на одном диске?

Нет, нет. В любом случае это дисковый доступ к статическим файлам.

У кого-нибудь есть несколько советов и информационных ссылок на информацию, чтобы прочитать учебники по правильной настройке php (php-fpm) fastcgi_caching, а также для кеширования локально находящихся статических файлов?

Взгляните на различные руководства по proxy_caching, особенно те, которые проксируют WordPress из Apache - fastcgi_caching почти идентичен, а то, что работает для proxy_caching, почти наверняка будет работать так же хорошо для fastcgi_caching.

На самом деле я сам сейчас работаю над той же самой проблемой. Пока что у меня все работает, за исключением учета файлов cookie, но это всего лишь простая серия if директивы для установки дополнительных переменных для директивы fastcgi_cache_key. Эта страница должен оказаться для вас очень полезным; просто перейдите к конфигурации proxy_caching и измените все эти директивы proxy_ * на fastcgi_ * (это то, за чем я следил, но помните, что если зло и не должен находиться в директиве местоположения ...).

Когда я полностью проработаю свою собственную, я опубликую ее в своем блоге (ссылка находится в моем профиле; у меня снова будут проблемы, если я поместлю эту ссылку в свой пост). Очень жаль, что их нет, ну любой fastcgi_caching уже существуют, поэтому я не могу вам ни на что указать Кроме мой блог (хотя его еще нет ...).

Отредактировано для добавления: Вот моя текущая конфигурация fastcgi_caching. Как я уже сказал, в нем еще нет никакого учета файлов cookie, но он действительно функционирует как есть, по большей части.

В блоке местоположения, который обрабатывает мои файлы .php, я добавил:

#Caching parameters
fastcgi_cache one;
#I use host here to account for the fact that I have multiple WP instances
fastcgi_cache_key $scheme$host$request_uri;

fastcgi_cache_valid  200 302 304 30m;
fastcgi_cache_valid  301 1h;
fastcgi_cache_valid  any 5m;
fastcgi_cache_use_stale error timeout invalid_header updating http_500;

Это связано с дополнениями, которые я сделал в блоке http:

# configure cache log
log_format cache '$remote_addr - $host [$time_local]  '
                 '"$request" $status $upstream_cache_status $body_bytes_sent '
                 '"$http_referer" "$http_user_agent"';


# Configure cache and temp paths
fastcgi_cache_path /var/cache/nginx levels=1:2
                   keys_zone=one:100m
                   inactive=7d max_size=10g;
fastcgi_temp_path /var/cache/nginx/tmp;