Главная > Веб мастерская > Как установить Zend OPcache на Debian или Centos

Как установить Zend OPcache на Debian или Centos

zend_optimizer_hostingНедавно я вовсю пользовался eAccelerator, но как оказалось у него проблемы с Joomla 3, а проще говоря, в некоторых случаях его использование вместе с Joomla 3 приводит к 500 ошибке. Я стал искать альтернативу кэшированию на сервере, так как некоторые сайты моих клиентов были именно на третьей джумле.  Просмотрев информацию в википедии, я остановился на Zend OPcache, так как он по выполняемому функционалу близок к eAccelerator.

Кроме этого, на сервер уставлен APC для кэша пользовательских данных.  Совместно они работают очень даже неплохо.

Сейчас я хочу вам рассказать, как установить «опкеш» на Debian 7 и Centos 6

Как мы понимаем, мы имеем уже настроенный сервер с php, MySQL и apache хотя бы. Если не имеем, можем заказать у меня по небольшим ценам.

Для работы с сервером воспользуемся программами WinSCP и PuTTY.

Начнем мы с Дебиан, который мне понравился уже шикарным стандартными репозиторием.

Перейдем во временную папку 

cd /tmp

Поставим пакеты разработчика 

apt-get install build-essential php5-dev

Чтобы установить именно последнюю версию кэша используем 

wget http://pecl.php.net/get/ZendOpcache

Для того чтобы разархивировать файл используем 

tar xvfz ZendOpcache

Теперь переходим в разархивированную папку

cd /tmp/zendopcache-7.0.3
 — (тут ваша версия расширения, имя папки с ней совпадает, то есть просто посмотрите, какая папка была разархивирована)

Теперь устанавливаем Zend OPcache командами:

phpize
./configure
make
make install

Спасибо разработчикам, что побеспокоились об удобстве установки для нас. После make можно протестировать установку make test, чтобы узнать возможные проблемы с эти расширением на вашем сервере.

Теперь добавим Zend OPcache в загрузку и настроим некоторые параметры.

Сперва выполним

find / -name opcache.so 
У Debian 7 он тут
/usr/lib/php5/20100525/opcache.so
  В zend_extension надо писать этот путь.

Создаем в блокноте файл opcache.ini и пишем в нем:


zend_extension=/usr/lib/php5/20100525/opcache.so
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=8000
opcache.revalidate_freq=0
opcache.fast_shutdown=1
opcache.enable_cli=1
 Первой строчкой zend_extension мы включили само расширение, вторая opcache.memory_consumption задает использование памяти для расширения, в третьей opcache.interned_strings_buffer задаем объем памяти для хранения интернированы строк, в мегабайтах, четвертая opcache.max_accelerated_files – максимальное количество скриптов в памяти, пятая (opcache.revalidate_freq) это валидация кэша в секундах, у меня тут 0, то есть постоянно проверять на изменения. На opcache.revalidate_freq я бы остановился отдельно. В Joomla OPcache кеширует все файлы и будет отдавать кэш после сохранения файлы еще то время, которое в этой строке (не жалуйтесь, что файлы не сохраняются, подождите выставленное вами время). opcache.fast_shutdown определяет включено или выключено быстрое завершение последовательности ускоренного, кода, дает возможность использовать Zend Engine Memory Management и последняя opcache.enable_cli включает OPcache в CLI-версии PHP. Я привел вам рекомендуемые мной настройки. Подробно разобраться с настройками вы можете сами, следуя инструкции разработчиков.

Сохраняем этот файлик и загружаем его в

/etc/php5/conf.d.

Идем в /etc и правим sysctl.conf, добавляя в него kernel.shmmax = 134217728 (для  128мб памяти выделяемых системой для кэша, вариации количества памяти зависят от памяти вашего сервера) и применяем командой sysctl p.

Перезапускаем apache

/etc/init.d/apache2 restart
 или сервер
reboot

Вводим php v и видим что-то такое:

PHP X.X.X (built: дата сборки)

Copyright (c) 1997-201X The PHP Group

Zend Engine vX.X.X, Copyright (c) 1998-201X Zend Technologies

with Zend OPcache vX.X.X, Copyright (c) 1999-201X, by Zend Technologies

Если есть строчка с Zend OPcache, то вы поставили его на Debian.

Как установить Zend OPcache на Debian или Centos

Теперь поговорим про Centos. Для Centos 6 процедура установки выглядит так:

В первую очередь перейдем в папку временную папку cd /tmp и поставим те же пакеты разработки yum install phpdevel gcc для php 5.3 и yum enablerepo=remi,remiphp54 install phpdevel gcc для php 5.4.

После этого мы скачаем wget http://pecl.php.net/get/ZendOpcache и распакуем tar xvfz ZendOpcache и перейдем в распакованную папку  cd /tmp/zendopcache7.0.3

Установка выглядит так:

phpize
./configure
make
make install

после установки грузим наш файлик opcache.ini в /etc/php.d, ну а путь к запускаемому расширению должен выглядеть так /usr/lib64/php/modules/opcache.so для Centos 6 x64 или мы можем его найти командой find / name opcache.so, то есть сам файл настроек выглядит примерно так:


zend_extension=/usr/lib64/php/modules/opcache.so
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=8000
opcache.revalidate_freq=0
opcache.fast_shutdown=1
opcache.enable_cli=1

О значениях параметров я писал выше в части про Debian.

Не забываем править в /etc файл sysctl.conf вставив в него в конец kernel.shmmax = 134217728 (для  128мб памяти) и применить sysctl p или для OpenVZ sysctl e p (в общем, если выбило ошибки).

Перезапускаем apache для Centos service httpd restart или перезагружаем сервер reboot.

Командой php v убеждаемся, что все работает, она должна вывести примерно то же, что и в Debian.

В php 5.5 Zend OPcache включен по умолчанию.

NEW!!! Полезное, нужное, важное:

Где заработать в интернете деньги? Надёжно, честно, без обмана!
Платежные системы, кошельки и обменники для работы

Лучшие хостинги, сервера и прочее для сайтов

Смотрите также

Продвижение молодого сайта

Основная трудность — это недостаток времени существования сайта — и не фига не сделаешь с этим фактом. И именно по этому продвижение молодого сайта отличается от периодической раскрутки старого, трастового ресурса.

Комментарий

  1. Спасибо!!!!!!!!!!!!! все четко встало!!!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *