FreeBSD. Установка и настройка eAccelerator
eAccelerator - это свободно-распространяемый PHP акселератор, оптимайзер и средство для кеширования динамического контента. Он увеличивает производительность PHP скриптов за счет их кеширования в скомпилированном состоянии, тем самым предотвращая их постоянную перекомпиляцию. В результате оптимизации скриптов происходит увеличение скорости их выполнения.
eAccelerator обычно уменьшает нагрузку на сервер и увеличивает скорость исполнения PHP кода в 1-10 раз.
Установка
Воспользуемся установкой через систему портов. Желательно порты обновить через portsnap!
Поехали,
cd /usr/ports/www/eaccelerator make install clean
Настройка
Создадим директорию для кеша:
mkdir /tmp/eaccelerator chmod 775 /tmp/eaccelerator
Создадим файл для лога:
touch /var/log/eaccelerator_log chmod 775 /var/log/eaccelerator_log
Отредактируем файл php.ini
vi /usr/local/etc/php.ini
[eAccelerator] ; Подключаем модуль extension="eaccelerator.so" ; Размер кеша, в МБ eaccelerator.shm_size="16" ; Путь до каталога файлов кеша eaccelerator.cache_dir="/tmp/eaccelerator" ; Переключатель модуля (1 - вкл и 0 - выкл) eaccelerator.enable="1" ; Переключатель оптимизатора (1 - вкл и 0 - выкл) eaccelerator.optimizer="1" ; Добавляет отладочную информацию в лог (1 - вкл и 0 - выкл) eaccelerator.debug="0" ; Путь до файла лога eaccelerator.log_file = "/var/log/eaccelerator_log" ; Проверять время модификации файлов кеша для перекомпиляции оных (1 - вкл и 0 - выкл) eaccelerator.check_mtime="1" ; Фильтр расширений файлов которых надо кешировать. Например, "*.php *.phtml". eaccelerator.filter="" ; Размер выделяемой памяти, в байтах. Допустимо вводить в формате 10240, 10K, 1M и т.д. При 0 - безлимит eaccelerator.shm_max="0" ; Время жизни кеша, сек eaccelerator.shm_ttl="120" ; Период удаления старых данных из памяти, сек (при 0 не удаляет) eaccelerator.shm_prune_period="0" ; Использовать для кеша только память. При 0 используется диск и память eaccelerator.shm_only="0" ; Переключатель компресии (1 - вкл и 0 - выкл) eaccelerator.compress="1" ; Степень сжатия eaccelerator.compress_level="9"
Ребутнём индейца:
apachectl restart
Вот и все, кеширование работает!
Дополнительные настройки на английском тут.
Комментарии
Спасибо за полезную инфу. Получилось установить надстройку.
Всегда пожалуйста! :)
Еще один пункт который позволит ускорить работу скриптов это монтировать кэш еаккселератора в память.
В линуксе это делатеся строчкой в фстаб:
Во фре не думаю что сложнее )
Евгений, а разве "eaccelerator.shm_only" не поможет хранить кеш только в памяти?
гм. и зачем же я так извратился - не понятно.
:)
Бывает :)
Делать диск в памяти и писать на него данные необходимо когда у вас запущено несколько fast-cgi процессов php (так бывает на хостингах). Делать это надо потому, что если eaccelerator хранит данные в памяти, то они НЕ шарятся между процессами. А если данные хранятся ТОЛЬКО на виртуальном диске то эти данные шарятся между процессами.
а зачем хранить кэш в темпе? после перезагрузки он ведь обнулится.
и еще вдогону вопрос. worker или prefork?
как проверить работает или нет ?
сделал всё по инструкции - phpinfo нет ни слова о eaccelerator
GTAlex, вы перезагружали вебсервер? Что говорит
?всё - настроил, как раз помог php -m
опечатка в php.ini была
спасибо
ещё бы Zend Optimizer прикрутить - вообще счастье было бы, а то скрипты есть покупные зендом закодированные, а вставать из портов не хочет :(
ругается на PHP 5й версии (у меня 5.3.2)
не поможешь советом :) ?
Вообще на фре зенд оптимизер фигово работает, разработчики зенд оптимизера ленятся и не делаю для фряхи порты
Сделал все по инструкции.
phpinfo() выдает такую хрень:
eAccelerator support enabled
Version 0.9.6
Caching Enabled false
Optimizer Enabled false
Check mtime Enabled false
Вы уверены что у вас именно так:
?
Какая OS?
Именно так )
Ось FreeBSD 7.2
error-log пуст? может у вас нет прав для каталога хранения кеша, или например файл лога не может писаться и т.д.?
Проблема EA с последними версиями PHP..
Подскажите нужно ли править код сайта под eAccelerator ?
я не специалист, по этому сори за глупые вопросы
Не нужно
Спасибо за пост.Сайты на WP занимали 25-30мб, сейчас 10-11мб.
FreeBSD 10. На make install clean говорит:
===> eaccelerator-0.9.7 cannot be installed: doesn't work with lang/php56 port (doesn't support PHP 5.5 5.6).
* Error code 1
Stop.
make: stopped in /usr/ports/www/eaccelerator
Это нормально?
Оставьте свой комментарий