Уже много мы говорили о возможности настроить APC в Drupal 7 в качестве кэширующего бэкенда и поэтому сегодня будет статья, посвященная как раз этой теме. И рассмотрим мы следующие вопросы:
- Каким образом устанавливать APC на сервер под Debian;
- Основные настройки APC;
- Настройка APC в Drupal 7 кэширующим бэкендом;
- Просмотр статистики APC.
Установка APC на сервере Debian
Установка apc достаточно проста. Выполняем команду
apt-get install php-apc
Перезапускаем apache
/etc/init.d/apache2 restart
Основные настройки APC
Конфигурация apc находится в файле /etc/php5/conf.d/apc.ini. Вносим изменения в конфигурационный файл:
extension=apc.so ; Включаем кэширование APC apc.enabled = 1 ; Количество сегментов разделяемой памяти, которое APC может использовать для кэширования apc.shm_segments = 1 ; Размер каждого сегмента разделяемой памяти apc.shm_size = 64 ; Кэшировать по умолчанию все файлы apc.cache_by_default = On ; Не кэшируем файл статистики apc.php apc.filters = "-/home/webmaster/drupal-admin.ru/html/apc\.php$" apc.rfc1867 = On apc.mmap_file_mask = /tmp/apc.XXXXXX
Более подробно о параметрах настройки APC можно почитать на официальном сайте.
Настройка APC в Drupal 7 кэширующим бэкендом
Скачиваем и устанавливаем последнюю версию Drupal модуля APC, например с помощью drush
drush dl apc
В файле settings.php установки Drupal прописываем следующие строки для установки APC кэширующим бэкендом
$conf['cache_backends'] = array('sites/all/modules/apc/drupal_apc_cache.inc'); $conf['cache_default_class'] = 'DrupalAPCCache';
Просмотр статистики APC
Для просмотра статистики использования APC необходимо выложить файл apc.php, поставляемого вместа с APC, например в корень сайта. Для этого разархивируем файл /usr/share/doc/php-apc/apc.php.gz
gunzip /usr/share/doc/php-apc/apc.php.gz
Копируем файл apc.php в каталог любого доступного сайта, например в /home/webmaster/domains/drupal-admin.ru/html
cp apc.php /home/webmaster/domains/drupal-admin.ru/html
Перезапускаем apache
sudo /etc/init.d/apache2 restart
Для просмотра статистики необходимо перейти по ссылке http://ваш сайт/apc.php.
его можно не включать
Да, спасибо, за поправку.
Ошибки при запуске стандартных тестов Drupal 7 (при интеграции Drupal'a с APC по вашей инструкции)
Обратил внимание, что Вы (и на других сайтах другие спецы) часто упоминаете в своих статьях APC и Memcache, как работающие вместе. Хотя, APC тоже может хранить таблицы с кэшами друпала в памяти, и от Memcache можно отказаться. Если ли в этом смысл или лучше использовать всё-таки вместе два этих инструмента и почему?
Есть* ли, то есть :)
Можно использовать и только APC (для одного сервера скорее всего быстрее должно быть), но тут вопрос в том, что APC не масштабируется, то есть на 2 сервера разнести не получится. Да и вообще, на мой взгляд, решение с memcached более надежно.
Да-да, точно, если идёт вопрос масштабирования, то однозначно вместе использовать.
То есть, Вы в принципе даже за то, что пусть в любой случае Memcached занимается кэшем таблиц друпала в память, а APC - php-скриптами?