Установка eAccelerator для работы с PHP5 [FreeBSD 6.3 & Apache 1.3]

Установка eAccelerator для работы с PHP5 [FreeBSD 6.3 & Apache 1.3] | unix, freebsd, apache, httpd, httpd.conf, ускоритель php Как я обещал в недавней публикации, рассмотрю процесс установки eAccelerator на наш рабочий веб сервер под управлением Apache с поддержкой PHP5. eAccelerator это свободно-распространяемый PHP ускоритель, оптимайзер и средство для кеширования динамического контента. Он увеличивает производительность PHP скриптов за счет их кеширования в скомпилированном состоянии, тем самым предотвращая их постоянную перекомпиляцию. В результате происходит увеличение скорости их выполнения. eAccelerator обычно уменьшает нагрузку на сервер и увеличивает скорость исполнения PHP кода на величину от 1 до 10 раз.

Все скомпилированные PHP файлы eAccelerator удерживает в разделяемой памяти (shared memory) и выполняет программный код непосредственно из этой памяти. Блокировки возникают лишь на небольшой промежуток времени, пока eAccelerator ищет перекомпилированный PHP скрипт в своем кеше. Таким образом один скрипт может выполняться одновременно несколькими движками. Файлы, которые не удается разместить в разделяемой памяти кешируются только на диске. Во FreeBSD eAccelerator можно установить из портов. Ставим:

root# whereis eaccelerator
eaccelerator: /usr/ports/www/eaccelerator
root# cd /usr/ports/www/eaccelerator
root# make install clean ...

По окончании компиляции и установки нам будет выдано такое сообщение:

*************************************************************

You have installed the eaccelerator package.

Edit /usr/local/etc/php.ini and add:

zend_extension="/usr/local/lib/php/20060613/eaccelerator.so"

Then create the cache directory:

mkdir /tmp/eaccelerator
chown www /tmp/eaccelerator
chmod 0700 /tmp/eaccelerator

*************************************************************

Программа нам подсказывает наши дальнейшие шаги. :) Что ж, создадим для начала все необходимые каталоги для работы eAccelerator'а, но только не в каталоге /tmp. У меня на /tmp разделе места маловато. Да и очищается он после перезапуска. Будет кеш на /var. Кроме этого, eaccelerator подключим не как расширение Zend'а, а как расширение PHP.

root# mkdir /var/eaccelerator
root# chown www:www /var/eaccelerator
root# chmod 0700 /var/eaccelerator

Теперь открываем файл конфигурации PHP /usr/local/etc/php.ini и прописываем в нем такие параметры:

; PHP extension eAccelerator

; Подключаем собственно само расширение
extension="eaccelerator.so"

; Следущая опция собственно включает сам eAccelerator
eaccelerator.enable="1"

; Максимальный размер кеша в мегабайтах
eaccelerator.shm_size="64"

; Корневой каталог для хранения кеша
eaccelerator.cache_dir="/var/eaccelerator"

; Подключить или отключить встроенный оптимайзер
; которые увеличивает скорость выполнения кода
eaccelerator.optimizer="1"

; Включаем проверку модификации PHP файлов. Поставьте
; "1" если требуется, чтобы проверялись все модифицированные
; файлы и перекомпиливались заново.
eaccelerator.check_mtime="1"

; Режим отладки. Если поставить 1 или вообще
; забыть упомянуть этот параметр, при большой
; посещаемости загадит логи Apache за считанные часы.
eaccelerator.debug="0"

; Здесь можно определить можно определить, какие
; файлы должны быть кешированы. По-умолчанию если
; здесь ничего не указано, то кешируются все файлы.
; Для расширенного использования прочитайте документацию.
eaccelerator.filter=""

; Максимально допустимое значение которое может быть
; отправлено в разделяемую память. По-умолчанию,
; "ноль" - без ограничений. Размер указывается в байтах,
; но можно указать приставки, например: 10240, 10K, 1M.
eaccelerator.shm_max="0"

; Когда акселлератору потребуется отправить в разделяемую
; память какой-то объект и при этом в памяти для этого
; не окажется места, он попытается удалить файлы, которые
; не были запрошены в течении последних "shm_ttl" секунд.
; По-умолчанию, это значение равно "0" - не удалять ничего.
eaccelerator.shm_ttl="3600"

; Когда акселлератору потребуется отправить в разделяемую
; память какой-то объект и при этом в памяти для этого
; не окажется места, он попытается удалить старые скрипты,
; если предыдущие такие попытки были не больше, чем
; "shm_prune_period" секунд назад.По-умолчанию, это значение
; равно "0" - не удалять ничего.
eaccelerator.shm_prune_period="0"

; Включить или отключить кеширование скомпиленных скриптов
; _только_ на диск. Этот параметр не влияет на данные сессий
; и кеширование контента. По-умолчанию, значение 0, что означает
; что данные будут кешироваться и в памяти и на диске.
eaccelerator.shm_only="0"

; Включить или отключить сжатие закешированного контента.
; По-умолчанию, "1" - сжимать.
eaccelerator.compress="1"

; Уровень сжатия. По-умолчанию, "9" - максимум.
eaccelerator.compress_level="9"

В принципе, как видим, совершенно ничего сложного нет. Тем не менее, эта маленькая и вкусная добавочка значительно облегчит жизнь Вашему Apache/PHP.

Понравился материал? Добавьте к себе в:

Тэги: , , , , , , , , , ,

Об авторе Daemony

Это мой персональный Блог! Веду его с переменным успехом с 2007 года. Пишу здесь обо всем, что мне интересно. Среди моих интересов: системное администрирование *nix систем, компьютерные технологии, фотография и многое другое. Подробнее можно почитать на странице "О блоге". Связаться со мной можно через форму обратной связи на этом сайте. Спасибо, за то, что посетили My Live Blog!
Подпишитесь на новые комментарии к этой публикации.

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

  1. Спасибо за подробный пост. Сайты занимали 25-30мб, а теперь 10-11мб. Целый день искал подходящую информацию для установки eAccelerator. ;-)

  2. icq 331763710 любые ответы на любые вопросы :) не баньте комент плиз :)

  3. Присоединяюсь к вопросу FOX’а. Подскажите пожалуйста новичку, как установить eaccelerator.

  4. fox: Прошу сильно не судить, уже как 2 год сам учусь php вебу…но так и не понял как устанавливать ацелератор… уже как месяц ломаю голову….куда писать это:root# whereis eaccelerator
    eaccelerator: /usr/ports/www/eaccelerator
    root# cd /usr/ports/www/eaccelerator
    root# make install clean …Люди подскажите

    я за тобой слежу =))

  5. Прошу сильно не судить, уже как 2 год сам учусь php вебу…

    но так и не понял как устанавливать ацелератор… уже как месяц ломаю голову….

    куда писать это:

    root# whereis eaccelerator
    eaccelerator: /usr/ports/www/eaccelerator
    root# cd /usr/ports/www/eaccelerator
    root# make install clean …

    Люди подскажите


  6. _http://wiki.firstvds.ru/index.php/Высокопроизводительный_web-сервер

    Спасибо за ссылку! Сысоев еще интересные фичи рассказывал на хайлоаде про nginx и особенности FreeBSD (как настроить по максимуму фрю на высоконагруженном сервере), на рутубе можно найти.

    Было было такое.
    17-го апреля проходила на ОпенНет новость: «Доклад Игоря Сысоева о настройке FreeBSD 7 для нагруженного веб-сервера«.

    P.S.: Ссылка была в этом комменте. Пряталась под словом «тут«. :wink:

  7. _http://wiki.firstvds.ru/index.php/Высокопроизводительный_web-сервер

    Спасибо за ссылку! Сысоев еще интересные фичи рассказывал на хайлоаде про nginx и особенности FreeBSD (как настроить по максимуму фрю на высоконагруженном сервере), на рутубе можно найти.

Поделиться мнением

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*
*

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Перед тем, как нажать кнопку "Отправить" введите проверочный код с изображения