установка eAccelerator на хостинг

Собственно этот мануал описывался уже не раз в других блогах, самый лучший на мой взгляд в блоге Цинизм в IT. Найти можно в гугле. Сделал все по его мануалу. Очень странно, что на мое хостинге, который я админю, еще не было акселератора.

Вот что должно получиться в итоге:

This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
with v0.9.6.1, Copyright (c) 2004-2010 , by
with Zend Guard Loader v3.3, Copyright (c) 1998-2010, by Zend Technologies
with Suhosin v0.9.32.1, Copyright (c) 2007-2010, by SektionEins GmbH

Поехали.

Соединяемся с сервером по . Я ставил на двух серверах, один основной под БД сайтов хостинга, другой держит веб сервер. На сервере с БД стоит еще 1 сайт — официальный компании, на нем провел тест, потом поставил на .

Для начала логинимся под рутом через su. Далее

Необходимые утилиты как бы.

Теперь нужно получить ссылку на акселератор. Ссылка в старых мануалах с bart.eaccelerator.net у меня не работала. Моя ссылка:

http://downloads.sourceforge.net/project/eaccelerator/eaccelerator/eAccelerator%200.9.6.1/eaccelerator-0.9.6.1.tar.bz

Или же идем на sourceforge и копируем там direct link при загрузке. Далее

cd /usr/srcwget ВАША ССЫЛКАtar -xf eaccelerator-0.9.6.1.tar.bz2cd eaccelerator-0.9.6.1phpize./configuremake install

Все просто! Теперь акселератор установлен, осталось настроить ini.

Очищаем систему после сборки

apt-get remove php5-devcd ..rm -rf /usr/src/eaccelerator-0.9.6.1rm -f /usr/src/eaccelerator-0.9.6.1.tar.bz2

Создаем конфиг файл:

nano /etc/php5/conf.d/eaccelerator.ini

И вставляем туда вот этот отличный конфиг. Кеширование только в памяти, дабы не поиметь проблем с правами доступа к кешу.

extension="eaccelerator.so"; размер shm памяти в мегабайтах eaccelerator.shm_size="32"eaccelerator.cache_dir="/tmp/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="1"; рекомендую отлючитьeaccelerator.compress="0"eaccelerator.compress_level="9"

Далее приведу просто цитату

Так что самый лучший вариант в случае FastCGI — отключение файлового кэша и расположение скомпилированного кода только в shm.

Это в случае использования только shm не требуется:

mkdir /tmp/eacceleratorchmod 0777 /tmp/eaccelerator

В итоге проверяем все ли правильно встало.

php -m | grep eAcceAccelerator

Уже можно радоваться. Перезапускам апач и смотрим phpinfo().

/etc/init.d/apache2 restart

Пост создан скорее для себя, чем как мануал. Чтобы сохранить и не потерялось. По вопросам лучше обращайтесь в блог Цинизм в it.

От себя еще добавлю по поводу конфигурации 2. Писал ранее пост, так вот maxclients лучше ставить в пределах 5-50 в зависимости от оперативной памяти сервера. К тому же MinSpareServers и StartServers ставить в то же значение. Таким образом после всех настроек сайты перестали уводить апач в свап и убивать сервер, чему я очень рад.

  • В eaccelerator на debian нельзя было поставить кеш больше 32, делаем следующее:

    Вам нужно еще поправить конфиг sysctl (/etc/sysctl.conf)

    вносим туда (например для 128Мб)

    kernel.shmmax = 134217728

    и применяем — sysctl -p

    соответственнно, если нужно больше кеша, то цифру увеличиваем.

    Так же рекомендуется время жизни
    eaccelerator.shm_ttl=»3600″

  • На данный момент у меня при 2гб Апач настроен так:

    StartServers = 30
    MinSpareServers = 30
    maxclients = 50
    MaxSpareServers = 50
    MaxRequests(как-то так) = 100

    • При таких выкрученных димитах сайты на джумле и прочие еле еле грузились.

      Увеличили оперативку хостинга до 3 гб (система 32) и тогда

      maxclients = 150
      MaxSpareServers = 150

      Все летает! )) И остался запас еще оперативки в 1,5 гб. В дальнейшем можно просто увеличивать лимиты.