Главная Публикации.txt Установка и настройка eAccelerator для HostCMS на VPS с Linux

Установка и настройка 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.
Возможные значения:
  • shm_and_disk — кэш данных в общей памяти и на диске (по умолчанию);
  • shm — кэш данных в общей памяти или на диске, если общая память или размер данных больше, чем "eaccelerator.shm_max";
  • shm_only — кэш данных в общей памяти;
  • disk_only — кэш данных на диске;
  • none не кэшироваь данные.

tagseAcceleratorHostCMSVPSадминистрирование 

01.05.2009, 691 просмотр.