понедельник, 25 апреля 2011 г.

Установка php EAccelerator на Linux Ubuntu

EAccelerator – это бесплатный opensource продукт, ускоряет выполнение скриптов от 2 до 10 раз

Как работает EAccelerator?

Перед тем как выдать html-содержимое клиенту, php компилирует скрипт в промежуточный байт-код, выполняет его… И так каждый раз.
Нельзя ли как нибудь оптимизировать и сэкономить процессорное время? Конечно можно! И в этом нам поможет EAccelerator! Он берет откомпилированный php-файл, и складывает его во временный каталог. Когда в следующий раз пользователь обращается к php-файлу, он сначала проверит – нет ли уже «готового» файла в кеше, и если есть – напрямую выдает его, экономя драгоценные такты процессора. Например, у меня нагрузка в часы пик упала с 80% до 5-15%.
Вещь однозначно из разряда must-have, я считаю что его вообще было бы здорово включить в базовую поставку PHP.
Ладно, не будем отвлекаться – а переходим сразу к практике – к установке.

Установка EAccelerator

Скачиваем последнюю версию и распаковываем
wget http://bart.eaccelerator.net/source/0.9.6/eaccelerator-0.9.6.tar.bz2
tar xjvf eaccelerator-0.9.6.tar.bz2
Далее командуем
cd eaccelerator-0.9.6
sudo phpize
Если будет ругаться что-то вроде:
phpize not found
то устанавливаем пакет:
sudo apt-get install php5-dev
и повторяем предыдущий шаг.
ОК. phpize успешно отработал.
Командуем в консоли:
./configure --enable-eaccelerator=shared
Далее:
make
make install
или лучше
chekinstall

Каталог, где разместился наш турбо-ускоритель будет выглядеть примерно так /. Если у тебя эта строчка отличается (например ты скачал более свежую версию EAccelerator, то не забудь заменить ее в конфиге, который будет приведен ниже)
ОК. Самое время приступать к конфигурации нашего зверя.

Настройка EAccelerator

Переходим в каталог конфигов PHP:
cd /etc/php5/conf.d/
И создаем дополнительный конфиг для нашего EAccelerator (имя файла ты можешь поменять по своему вкусу, но расширение .ini не трогай 
sudo nano eaccelerator.ini
Итак, открыли наш любимый Nano.
Быстренько набрасываем туда следующие строчки:
zend_extension                  = "/usr/lib/php5/20060613/eaccelerator.so"
eaccelerator.shm_size           = "16"
eaccelerator.cache_dir          = "/var/cache/eaccelerator"
eaccelerator.enable             = "1"
eaccelerator.optimizer          = "1"
eaccelerator.check_mtime        = "1"
eaccelerator.debug              = "0"
eaccelerator.filter             = ""
eaccelerator.shm_max            = "0"
eaccelerator.shm_ttl            = "0"
eaccelerator.shm_prune_period   = "0"
eaccelerator.shm_only           = "0"
eaccelerator.compress           = "1"
eaccelerator.compress_level     = "7"
eaccelerator.allowed_admin_path = "/var/www/eaccelerator"
И сохраняем.
ОК. Почти все готово, остались мелочи.
Создадим каталог под кеш, дадим разрешение на запись в него www-демону, а всех остальных пользователей отправим в пешее эротическое путешествие (незачем им в этот каталог совать свой нос).
sudo mkdir /var/cache/eaccelerator
sudo chown root:www-data /var/cache/eaccelerator
sudo chmod g=rwx,o= /var/cache/eaccelerator
Отлично. Перезапускаем индейца:
sudo /etc/init.d/apache2 restart
Трижды стукаем в бубен, скрещиваем пальцы, и печатаем:
php -v
Если вывалилось нечто подобное:
PHP 5.2.6-1+lenny9 with Suhosin-Patch 0.9.6.2 (cli) (built: Aug 4 2010 06:06:53)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
with eAccelerator v0.9.6, Copyright (c) 2004-2010 eAccelerator, by eAccelerator
 Значит установка завершилась успешно.


Комментариев нет:

Отправить комментарий