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)
Вот и всё! Удачной оптимизации ;)

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

Сергей
Для безопасности:
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., нужно просто зайти в папку с распакованным акселератором ;)
опытный
Если есть зенд оптимайзер, вставьте его конфиг после еа, иначе будет конфликт
Vitaliy Bogdanets
тут похер, они не работают друг с другом, либо один/либо другой
deerua
Если вас кинул libtool, версия не удалась, нужно выполнить ещё одну последовательность комманд

phpize
aclocal
libtoolize —force
autoheader
autoconf
./configure
make
Deerua
если не конфижится, наверное скорее всего си хероват
нужно что-то типа yum install gcc-c++ -y

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

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

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


Ctrl + Enter