Установка APC cache на Ubuntu 14.04|12.04

How To Install Alternative PHP Cache (APC) on Ubuntu 14.04

https://www.digitalocean.com/community/questions/how-to-install-alternative-php-cache-apc-on-ubuntu-14-04

sudo apt-get install php-apc - не работает

APC больше не нужен в Ubuntu 14.04. APC не поддерживается в PHP 5.5, который идет со своим встроенным Opcache кэшем взамен. Убедитесь, что кэш включен, отредактируйте файл /etc/php5/apache2/php.ini.
Замените:

;opcache.enable=0

на

opcache.enable=1

Затем убедитесь что, модуль php активирован:

# php5enmod opcache

Наконец, перезагрузите Apache:

service apache2 restart

Варианты конфигурации: https://www.digitalocean.com/community/questions/enable-php-5-5-opcache-on-ubuntu-14-04-with-nginx-and-php-fpm

Проверка:

http://<ip_address>/info.php

Создайте файл info.php следующего содержания в корне директории web сервера /var/www/html/

< ?php
phpinfo();
?>

И откройте его в браузере. Там вы найдете информацию о PHP, в том числе и о включенном кэше. Не оставляйте этот файл на продакшн сервере. Удалите его после проверки.
Должны увидеть:

Zend OPcache
Opcode Caching	Up and Running
Optimization	Enabled
И т.д.

 

How To Install Alternative PHP Cache (APC) on Ubuntu 12.04

https://www.digitalocean.com/community/tutorials/how-to-install-alternative-php-cache-apc-on-a-cloud-server-running-ubuntu-12-04

Установка из PECL

Для установки из репозитория Ubuntu смотрите ниже.

About APC.
APC is a great operation code caching system for PHP that can help speed up your site. PHP is a dynamic server-side scripting language that needs to be parsed, compiled and executed by the server with every page request. In many cases though, the requests produce exactly the same results which means that the cloud server has to unnecessarily repeat all these steps for each of them.
This is where APC comes into play. What it does is save the PHP opcode (operation code) in the RAM memory and if requested again, executes it from there. In essence, it bypasses the parsing and compiling steps and minimizes some unnecessary loads on the cloud server.

Предполагается, что у вас имеется собственный VPS с привилегиями root'а и установленный LAMP.

Для начала установите пакеты:

sudo apt-get install php-pear php5-dev make libpcre3-dev

Теперь вы можете установить APC используя команду pecl:

sudo pecl install apc

Вам будет предложено ответить на несколько вопросов, но до тех пор пока вы не узнаете точный ответ, используйте значение по умолчанию нажимая Enter.

Следующий и последний шаг - отредактируйте файл php.ini

sudo nano /etc/php5/apache2/php.ini

добавив в конец строку:

extension = apc.so

Сохраните файл и перезапустите Apache:

sudo service apache2 restart

Что бы проверить включен-ли APC, проверьте страницу PHP info. Если у вас нет оной, создайте ее в директории /var/www:

nano /var/www/info.php

и вставьте код:

< ?php
phpinfo();
?>

Откройте его в браузере. Там вы найдете информацию о PHP, в том числе и о включенном кэше. Не оставляйте этот файл на продакшн сервере. Удалите его после проверки.
 

Настройка APC

Вы установили APC и он запущен с настройками по умолчанию. Существует по меньшей мере две настройки, о которых вам следует знать. Откройте php.ini, который вы уже редактировали:

sudo nano /etc/php5/apache2/php.ini

Под строчкой, который вы включили APC, добавьте:

apc.shm_size = 64

Это позволит APC использовать 64MB памяти RAM для кэширования. В зависимости от конфигурации вы можете изменять это значение.
Следующая строка, которую следует добавить:

apc.stat = 0

Параметр apc.stat проверяет script при каждом запросе, изменился он или нет. Если скрипт изменился APC перекомпилирует его и кэширует новую версию. Это дефолтное поведение APC после установки. Устанавливая значение параметра в 0 мы говорим APC не проверять изменения скрипта. Это улучшает производительность, но при этом, если скрипт был изменен, изменения не применятся до перезагрузки сервера. Таким образом значение 0 рекомендуется использовать только на продакшн сервере, где нет постоянных изменений кода.
 

Мониторинг APC
Существует небольшой скрипт для мониторинга статуса и производительности APC кэша.
apc cache
Вы можете скопировать файл apc.php из /usr/share/php/ в рабочую директорию web сервера, например /vwr/www:

cp /usr/share/php/apc.php /var/www - для установленного из pecl

Или скачать:

wget http://pecl.php.net/get/APCu -O - | tar xz --wildcards apcu*/apc.php

Теперь обратитесь к этому файлу из браузера:

http://<ip_address>/apc.php

Вы должны увидеть статистику APC. Обратите внимание, что APC хватает памяти и фрагментация не очень велика.
Хорошим признаком будет высокий процент попадания в кэш, около 95% после нескольких запросов.
 

Установка APC cache из репозитория Ubuntu

$ sudo apt-get install php-apc

Перезапустить Apache и посмотрите info.php. Должна появится секция APC ( Enabled On).
Для монитроинга используйте утилиту, входящую в комплект поставки:

cd /usr/share/doc/php-apc
# gunzip apc.php.gz

Скопируйте файл apc.php , например, в /var/www
Обратитесь к файлу из браузера:

http://<ip_address>/apc.php

Ошибка:
No cache info available. APC does not appear to be running.

появляется, если в коде apc.php не задан пароль.
Отредактируйте файл apc.php:

# vi /var/www/apc.php

и задайте имя пользователя и пароль:

defaults('ADMIN_USERNAME','apc');       // Admin Username
defaults('ADMIN_PASSWORD','pass');   // Admin Password - CHANGE THIS TO ENABLE!!!

Если используется Basic авторизация Apache, то использовать авторизацию apc.php не получится. Нужно ее выключить:

defaults('USE_AUTHENTICATION',0);

Дополнительные опции в /etc/php5/apache2/conf.d/apc.ini

;apc.enabled=1 – не актуально
;apc.enable_cli=1 – не актуально
;apc.shm_size=64M # по умолчанию 32M
;apc.stat = 0

 

Метки: . Закладка Постоянная ссылка.

Добавить комментарий

Ваш e-mail не будет опубликован.

*