Форум сообщества Clodo.ru: Установка eAccelerator - Форум сообщества Clodo.ru

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Установка eAccelerator На centOS

#1 Пользователь офлайн   webstels 

  • Продвинутый пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 387
  • Регистрация: 31 Январь 11
  • ГородСызрань

Отправлено 01 Февраль 2011 - 13:28

<h2>eAccelerator</h2>

eAccelerator - это PHP ускоритель, оптимизатор, кэш-памяти динамического содержимого.

Увеличивает производительность PHP скриптов за счет кэширования их в компилированном состоянии, тем самым дополнительные ресурсы сервера на компиляцию скриптов не используются.

Также оптимизируются скрипты для ускорения выполнения.

eAccelerator обычно уменьшает нагрузку на сервер и увеличивает скорость вашего кода PHP в 1-10 раз.

<h3>Установка:</h3>

Акселератор требует autoconf, automake, libtool, m4. Также весьма желателен пакет php-devel, а именно утилита phpize, дабы не пересобирать пхп руками.
Исходная ОС – CentOS 5.5

1.Переходим в папку /tmp
<P class="consol">cd/tmp</P>
2.Качаем сам акселератор (актуальную ссылку можно взять на http://www.eaccelerator.net/). Версия 0.9.6 самая новая на момент написание статьи.
<P class="consol">wget http://bart.eacceler...9.6.tar.bz2</P>
3.Устанавливаем необходимые пакеты для eAccelerator. (autoconf automake libtool php-devel)
<P class="consol">yum install autoconf automake libtool php-devel</P>
4.Далее по порядочку:
<P class="consol">phpize
./configure --enable-eaccelerator=shared --with-php-config=/usr/bin/php-config
make
make install</P>
5.Далее открываем любым редактором (vi или nano) файл /etc/php.ini
<P class="consol">vi /etc/php.ini</P>
И добавляем в любое место файла такие строки:
<P class="listing">extension="eaccelerator.so"
eaccelerator.shm_size = "160" //лимит кэша в мегабайтах
eaccelerator.cache_dir = "/var/cache/php-eaccelerator" // каталог для кэша
eaccelerator.enable = "1"
eaccelerator.optimizer = "1"
eaccelerator.debug = 0
eaccelerator.log_file = "/var/log/httpd/eaccelerator_log" // расположение логов eAccelerator
eaccelerator.name_space = ""
eaccelerator.check_mtime = "1"
eaccelerator.filter = ""
eaccelerator.shm_max = "0"
eaccelerator.shm_ttl = "3600"
eaccelerator.shm_prune_period = "0"
eaccelerator.shm_only = "0"
eaccelerator.compress = "1"
eaccelerator.compress_level = "9"
eaccelerator.keys = "none"
eaccelerator.sessions = "none"
eaccelerator.content = "none"
eaccelerator.allowed_admin_path = ""</P>
Сохраняем файл /etc/php.ini
6.Создаем папку для кэша и даем ей права на запись.
<P class="consol">mkdir /var/cache/php-eaccelerator
chmod 777 /var/cache/php-eaccelerator</P>
7.Всё. Перезагружаем Apache
<P class="consol">service httpd restart</P>
8.Вводим :
<P class="consol">php -v</P>
и видим примерно следующее:
<P class="consol">PHP 5.2.17 (cli) (built: Jan 7 2011 08:49:48)
Copyright © 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright © 1998-2010 Zend Technologies
with eAccelerator v0.9.6, Copyright © 2004-2010 eAccelerator, by eAccelerator
</P>
Проверить работу eAcceleratora можно установив такой вот код
<code><?php printf(__('/%d queries /%s seconds'), get_num_queries(), timer_stop(0, 3)); if ( function_exists('memory_get_usage') ) echo ' /' . round(memory_get_usage()/1024/1024, 2) . ' mb'; ?></code>
сравнив значения используемой памяти для генерации страницы до и после установки eAccelerator.

Сообщение отредактировал webstels: 01 Февраль 2011 - 13:40

Добавляйте меня в Twitter`e - @webstels
Мой блог - webstels.ru
Опрос о соц. сетях.
0

#2 Пользователь офлайн   Максим Дюбарев 

  • Clodo team
  • Группа: Support
  • Сообщений: 407
  • Регистрация: 27 Январь 11
  • ГородПитер

Отправлено 01 Февраль 2011 - 13:58

Это больше для какого раздела подойдет? Если раздела еще нет предложите название. И еще не забывайте указывать, на какой ОС протестировано.

После подготовки материала прикрепите его текстовым файлом к теме о базе знаний (это на будущее)

Спасибо за материал.
0

#3 Пользователь офлайн   webstels 

  • Продвинутый пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 387
  • Регистрация: 31 Январь 11
  • ГородСызрань

Отправлено 01 Февраль 2011 - 14:37

Просмотр сообщенияМаксим Дюбарев (01 Февраль 2011 - 13:58) писал:

Это больше для какого раздела подойдет? Если раздела еще нет предложите название. И еще не забывайте указывать, на какой ОС протестировано.

После подготовки материала прикрепите его текстовым файлом к теме о базе знаний (это на будущее)

Спасибо за материал.

А написано ведь,

Цитата

Исходная ОС – CentOS 5.5
. Спасибо, замечания учту.
Добавляйте меня в Twitter`e - @webstels
Мой блог - webstels.ru
Опрос о соц. сетях.
0

#4 Пользователь офлайн   Максим Дюбарев 

  • Clodo team
  • Группа: Support
  • Сообщений: 407
  • Регистрация: 27 Январь 11
  • ГородПитер

Отправлено 01 Февраль 2011 - 15:18

Про ОС пропустил. Сорри.
0

#5 Пользователь офлайн   Shatrov 

  • Продвинутый пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 64
  • Регистрация: 29 Январь 11

Отправлено 01 Февраль 2011 - 16:22

А под Убунту сервер возможно акселератор поставить? А то почти все мануалы для CentOS, прямо дискриминация какая-то :(
0

#6 Пользователь офлайн   webstels 

  • Продвинутый пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 387
  • Регистрация: 31 Январь 11
  • ГородСызрань

Отправлено 01 Февраль 2011 - 16:43

да, инструкция аналогичная, только команды некоторые чуть чуть другие.
Добавляйте меня в Twitter`e - @webstels
Мой блог - webstels.ru
Опрос о соц. сетях.
0

#7 Пользователь офлайн   vase 

  • Clodo team
  • Группа: Support
  • Сообщений: 171
  • Регистрация: 27 Январь 11
  • ГородСанкт - Петербург

Отправлено 03 Февраль 2011 - 13:28

Просмотр сообщенияwebstels (01 Февраль 2011 - 13:28) писал:

<h2>eAccelerator</h2>
<h3>Установка:</h3>

Акселератор требует autoconf, automake, libtool, m4. Также весьма желателен пакет php-devel, а именно утилита phpize, дабы не пересобирать пхп руками.
Исходная ОС – CentOS 5.5

1.Переходим в папку /tmp
<P class="consol">cd/tmp</P>
2.Качаем сам акселератор (актуальную ссылку можно взять на http://www.eaccelerator.net/). Версия 0.9.6 самая новая на момент написание статьи.
<P class="consol">wget http://bart.eacceler...9.6.tar.bz2</P>



Не стоит собирать руками и ставить ПО на тех системах, которые содержат пакетные менеджеры. К тому же, eaccelerator есть в репозиториях, вроде в epel или centalt. В любом случае поиск по гуглу даст имя репозитория где он есть.
0

#8 Пользователь офлайн   BUVET 

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 1
  • Регистрация: 14 Март 11

Отправлено 18 Март 2011 - 09:53

Сборка eAccelerator под Ubuntu и др


Ставим все необходимое для сборки:

    apt-get install -y php5-dev bzip2 make autoconf automake libtool m4 

Компилируем:

    cd /usr/src
    wget http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.tar.bz2
    tar -xf eaccelerator-0.9.6.1.tar.bz2
    cd eaccelerator-0.9.6.1
    phpize
    ./configure
    make install

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

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


Кстати, крайне рекомендую обратить внимание на файлик control.php в дистрибутиве, который предназначен для управления и мониторинга eAccelerator :) 

(спасибо Котеровским наблам, где это упомянуто)

--prefix тут, к сожалению, не работает, т.к. configure берет путь до библиотек из:

    php-config --extension-dir
    /usr/lib/php5/20060613

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

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

Вариантов подключения к PHP два - Zend Extension и обычное расширение, мне почему-то второй больше импонирует.

Вот стандартный конфиг:


    extension="eaccelerator.so"
    # eaccelerator.shm_size="16" # иначе получите проблемы на своем VPS
    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="0"
    eaccelerator.compress="1"
    eaccelerator.compress_level="9"

А вот мой оптимизированный:

    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 блоки будут создаваться от имени пользователя, от которого 
запускается скрипт. Так что самый лучший вариант в случае FastCGI - отключение файлового кэша и расположение скомпилированного кода только в shm.
Это в случае использования только shm не требуется:

    mkdir /tmp/eaccelerator
    chmod 0777 /tmp/eaccelerator

А испытать работоспособность можно командой:

    php -m | grep eAcc
    eAccelerator

И, наконец, перезапускаем Апача:


    /etc/init.d/apache2 restart

0

#9 Пользователь офлайн   ASluchevskiy 

  • Продвинутый пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 56
  • Регистрация: 23 Февраль 11
  • ГородBryansk, Russia

Отправлено 18 Март 2011 - 14:39

Не забывайте про checkinstall
Поможет потом при необходимости убирать софт из системы

sudo apt-get install checkinstall

...
sudo checkinstall make install

Сообщение отредактировал ASluchevskiy: 18 Март 2011 - 14:43

0

#10 Пользователь офлайн   ASluchevskiy 

  • Продвинутый пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 56
  • Регистрация: 23 Февраль 11
  • ГородBryansk, Russia

Отправлено 18 Март 2011 - 14:40

А

apt-get install make autoconf automake libtool m4 


можно заменить на более короткое

apt-get install build-essential


:)

Сообщение отредактировал ASluchevskiy: 18 Март 2011 - 14:43

0

#11 Пользователь офлайн   ASluchevskiy 

  • Продвинутый пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 56
  • Регистрация: 23 Февраль 11
  • ГородBryansk, Russia

Отправлено 18 Март 2011 - 14:43

Ну и еще, если 32 мб кеша в памяти не хватает, то

Увеличиваем объем доступной shm памяти до 64*1024*1024 байт (64 мбайт)
echo 'kernel.shmmax = 67108864' >> /etc/sysctl.conf
sysctl -p


И в конфиге:
eaccelerator.shm_size="64"

0

#12 Пользователь офлайн   Alligator 

  • Продвинутый пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 119
  • Регистрация: 16 Февраль 11

Отправлено 18 Март 2011 - 17:13

Устанавливаем eAccelerator админ-панель:

cd /tmp/eaccelerator-0.9.6.1 (Директория отличается от первого поста! Замените ее на ту, где вы распаковали eaccelerator)

Копируем control.php в корень вашего web-сервера у меня это html:

cp control.php /var/www/html (заменить на ту, откуда вы хотите управлять скриптом)



Редактируем control.php.
Заменим параметры $user and $pw на придуманный вами логин и пароль.
NB: Лоигин и пароль должен быть сложный, иначе может навредить производительности вашего web-сервера.

$user = "admin";
$pw = "eAccelerator";



Редактируем конфиг-файлик /etc/php.d/eaccelerator.ini

mcedit /etc/php.d/eaccelerator.ini


Добавляем:

eaccelerator.allowed_admin_path="/var/www/html/control.php"



Сохраняем, выходим, рестартим php(перезапускаем апач или пхп-фмп).

Зайти на админку можно будет по адресу http://yourdomain.com/control.php
0

#13 Пользователь офлайн   .up 

  • Продвинутый пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 31
  • Регистрация: 28 Январь 11

Отправлено 07 Май 2011 - 01:36

Если после установки появляется ошибка:
open_basedir restriction in effect. File() is not within the allowed path(s):

Пересобрать с опцией
--without-eaccelerator-use-inode

0

#14 Пользователь офлайн   Darkness 

  • Продвинутый пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 154
  • Регистрация: 16 Март 11
  • ГородЖелезногорск

Отправлено 08 Сентябрь 2011 - 22:44

Ругается ошибкой 404

wget http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.tar.bz2

Сайты моих клиентов живут здесь - http://clodo.ru/
Разработка сайтов, услуги 1С - http://www.its46.ru/
Virtual Server ID: 41321-4
0

#15 Пользователь офлайн   Smile42RU 

  • Продвинутый пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 233
  • Регистрация: 19 Февраль 11
  • ГородКемерово

Отправлено 09 Сентябрь 2011 - 11:49

Есть некоторые проблемы с сайтом у них сейчас...
ID: 20911
Злой php говнокодер и бездарный эникейщик
1

Поделиться темой:


Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей