Переход к предыдущей публикации Apache веб сервер в качестве прокси сервера [mod_proxy] Устанавливаем MySQL 5.1 Переход к следущей публикации

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

Понедельник, 25 февраля, 2008 16:39:21 EET

Исправления от 23 марта, 2009 12:56:51

Установка 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.

Похожие публикации

Выделенные сервера дешевле обычного хостинга

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

1 2

adre 27 января, 2010 17:17:19 EET .:. ID #24493 .:.

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

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

fox 24 января, 2010 16:50:52 EET .:. ID #24402 .:.

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

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

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

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

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

Daemony 8 мая, 2009 10:38:00 EEST .:. ID #9620 .:.


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

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

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

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

dynax60 8 мая, 2009 10:25:50 EEST .:. ID #9619 .:.

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

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

1 2

Возник вопрос по этой теме, или есть что добавить? Говорите!

  1. Зарегистрированным пользователям вводить защитный код (captcha) не приходится.
  2. Загрузить свою аватарку Вы сможете, зарегистрировавшись на сервисе www.gravatar.com
Публикуя комментарий Вы подтверждаете, что ознакомились c Правилами и принимаете их!
HOMOSAPIENS ONLY! :)