Loading...
+7 (926)878-29-28

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-скриптов.

Желаю тебе творческих успехов, и хорошего дня


Отзывы



Добавление комментариев закрыто.
Оформить заявку
Я не робот

Мгновенная помощь

TeamViewer QuickSupport