Установка и настройка eAccelerator для HostCMS на VPS с Linux
eAccelerator является PHP-акселератором, основное назначение которого состоит в кэшировании бинарного представления кода. Каждый раз при выполнении скрипта, PHP читает все подключаемые файлы и переводит их в бинарный код, при запросе скрипта операция повторяется. Задача eAccelerator состоит в сохранении бинарного кода для повторного использования, уменьшая время выполнения скрипта.
Внимание! eAccelerator работает с PHP в режиме fastcgi или mod_php.
Установка eAccelerator
Переходим в /usr/local:
# cd /usr/local
Создаем директорию eAccelerator:
# mkdir eAccelerator
Переходим в директорию eAccelerator:
# cd eAccelerator
Загрузим дистрибутив с сайта производителя (информацию о последних релизах можно найти по адресу http://www.eaccelerator.net/):
# wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2
Распаковываем:
# tar -xvjf ./eaccelerator-0.9.5.3.tar.bz2
Переходим в директорию eaccelerator-0.9.5.3:
# cd eaccelerator-0.9.5.3
Собираем eAccelerator:
# export PHP_PREFIX="/usr/local"
или
# export PHP_PREFIX="/usr"
(в зависимости от того, где расположени phpize).
# $PHP_PREFIX/bin/phpize
# ./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config --with-eaccelerator-shared-memory
Опция --with-eaccelerator-shared-memory необходима для возможности использования API eAccelerator. Полный список опций.
# make
Инсталлируем eAccelerator:
# make install
Настройка eAccelerator
Конфигурацию eAccelerator можно разместить в виде файла eaccelerator.ini в директории /etc/php.d/ или указать в файле /etc/php.ini
Разместим в файле /etc/php.ini в самом конце :
extension="/usr/lib/php/modules/eaccelerator.so"
eaccelerator.shm_size="64"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="3600"
eaccelerator.shm_prune_period="1800"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
Внимание! При наличии в php.ini директивы extension_dir путь к расширению указываем относительный:
extension="eaccelerator.so"
Создадим директорию для файлов eAccelerator:
# mkdir /tmp/eaccelerator
Установим права:
# chmod 777 /tmp/eaccelerator
Перезапустим Apache:
# service httpd restart
Возможные проблемы
Отсутствует phpize
Необходимо установить php-devel, выполним:
# yum install php-devel
Отсутствует gcc и make
Необходимо установить gcc и make, выполним:
# yum install gcc
# yum install make
Описание основных атрибутов конфигурации eAccelerator
| eaccelerator.shm_size | Размер кэша совместно используемой памяти, устанавливается в мегабайтах. |
| eaccelerator.cache_dir | Директория для дискового кэша. eAccelerator сохраняет в указанной директории бинарное представление кода, сессии и другие данные. |
| eaccelerator.enable | С помощью этой опции можно отключать и включать eAccelerator. Значение 1 - включено, 0 - выключено. |
| eaccelerator.shm_ttl | Указывает в секундах время, по истечении которого давно не используемый код должен быть удален из совместно используемой памяти при превышении объема выделяемой памяти. По умолчанию эта опция отключена, мы рекомендуем устанавливать значение от 60 до 300 при большом количестве файлов и от 900 до 1800 при малом количестве файлов. |
| eaccelerator.shm_prune_period | Когда eAccelerator не имеет достаточно свободного памяти, он пытается удалить старые данные, если предыдущая попытка была сделана более "shm_prune_period" секунд назад. По умолчанию значение "0", при котором eAccelerator не будет пытаться удалить старый данные из памяти. |
| eaccelerator.keys eaccelerator.session eaccelerator.content |
Параметры указывают доступные способы сохранения кэша eAccelerator. Возможные значения:
|
eAccelerator,
HostCMS,
VPS,
администрирование
01.05.2009, 691 просмотр.

