23 ноября 2009, 15:59

Установка и настройка eAccelerator на linuxе :) (install and configure)

Давно ничего системненького не писал, но недавно пришлось несколько раз устанавливать акселератор, и каждый раз приходилось гуглить, вот решил шпору себе накатать ;)

Установка.
  • логинимся через пути на свой сервак (должен быть root)
  • сидя в хомяке (cd ~) создаём папку tmp (mkdir tmp) и переходим в неё (cd tmp)
  • дальше нужно скачать последний акселератор (wget httр://lastea.link/)
  • распаковываем его (tar xjvf eaccelerator-0 тут нажать tab)
  • выполняем phpize (если phpize: command not found, делаем apt-get install php5-dev, и опять phpize)
  • конфигурим (./configure)
  • компилим (make)
  • инсталим к php (sudo make install)
  • находим php.ini и дописываем вконец
    extension="eaccelerator.so"
    // размер кеша, обычно достаточно 32, если сайтов много то 64
    eaccelerator.shm_size="64"
    // путь к папке кеша, доступ к которой должен быть 777
    eaccelerator.cache_dir="/var/cache/eaccelerator"
    eaccelerator.enable="1"
    eaccelerator.optimizer="1"
    eaccelerator.check_mtime="1"
    eaccelerator.debug="0"
    eaccelerator.filter=""
    eaccelerator.shm_max="256"
    eaccelerator.shm_ttl="3600"
    eaccelerator.shm_prune_period="1800"
    eaccelerator.shm_only="0"
    eaccelerator.compress="1"
    eaccelerator.compress_level="9"
    // путь к папке, где будет лежать control.php что шёл с архивом еА
    eaccelerator.allowed_admin_path="/home/http/cache"
  • рестартуем апачик (sudo /etc/init.d/apache2 restart)
  • смотрим запустилось ли :), если нет, значит на php выделено мало памяти, выделяем (echo «134217728» > /proc/sys/kernel/shmmax)
Вот и всё! Удачной оптимизации ;)

5 комментариев РСС

Сергей
Для безопасности:
mkdir /var/cache/eaccelerator
chown apache /var/cache ....
chgrp apache /var/cache ...
chmod 0600 /var/cache ...
Zerg
Отличная статья. По поводу shmmax есть коммент, он по идее должен быть не больше, чем половина доступной памяти. Доступную память можно посмотреть в /proc/meminfo. Вот простенький скриптец для установки параметров:
#!/bin/bash
mem_bytes=`awk ’/MemTotal:/ { printf «%0.f»,$2 * 1024}’ /proc/meminfo`
mem_max=`expr $mem_bytes / 2`
page_size=`getconf PAGE_SIZE`
shmall=`expr $mem_bytes / $page_size`
echo \# Maximum shared segment size in bytes
echo kernel.shmmax = $mem_max
echo \# Maximum number of shared memory segments in pages
echo kernel.shmall = $shmall

Также был момент, когда процессы по завершению не очищали shared memory из-за чего при следующем запуске не смогли запуститься. Вот так можно посмотреть доступную память и что занято: ipcs -m. Удачи!
deerua
Если получили ошибку Cannot find config.m4., нужно просто зайти в папку с распакованным акселератором ;)
опытный
Если есть зенд оптимайзер, вставьте его конфиг после еа, иначе будет конфликт
deerua
Если вас кинул libtool, версия не удалась, нужно выполнить ещё одну последовательность комманд

phpize
aclocal
libtoolize —force
autoheader
autoconf
./configure
make

Ваш комментарий

адрес не будет опубликован

ХТМЛ не работает


Ctrl + Enter