EAccelerator + Ubuntu. Установка и Настройка
Что такое EAccelerator?
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
Он нам выплюнет строчку наподобие
Installing shared extensions: /usr/lib/php5/20060613/
Это каталог, где разместился наш турбо-ускоритель. Если у тебя эта строчка отличается (например ты скачал более свежую версию 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
Значит установка завершилась успешно.
Но для пущей уверенности проверим еще и так:
Создадим любой php-файл с кодом:
<?php
phpinfo();
?>
Запустим его, и сделаем поиск по строке eaccelerator. Если поиск успешен – значит все ОК.
Ну вот и все. Теперь с помощью EAccelerator мы можем наслаждаться повышенными скоростями выполнения php-скриптов.
Желаю тебе творческих успехов, и хорошего дня
Комментарии ()
Вы должны авторизоваться, чтобы оставлять комментарии.