{{tag>php server service fpm php lnmp}}

====== Установка и настройка PHP FPM ======

  * [[:php-fpm]]

==== Замораживаем версию пакета php ====


  * PHP=$(dpkg -l|grep php|grep 5.3|awk '{print $2}')
  * aptitude hold $PHP - для aptitude и команд: safe-upgrade
  * apt-mark hold $PHP - для apt

==== Размораживаем версию пакета php ====

  * PHP=$(dpkg -l|grep php|grep 5.3|awk '{print $2}')
  * aptitude unhold $PHP - для aptitude и команд: safe-upgrade
  * apt-mark unhold $PHP - для apt


==== Установка из исходников ====

<code>
code
</code>

==== Debug install=====

Установка отладчиков кода

  * [[php:xdebug|Xdebug]]
  * [[php:dbg|DBG]]
  * [[php:jit|JIT]]

==== Кешировние ====

  * [[system:php:opcache|]]
  * [[system:php:xcache|]]
==== fpm/pool.d/ Конфигурационные файлы PHP-FPM ====

  * pm.max_children = необходимо вычислить сколько памяти занимает один процесс, потом разделить тот объем памяти который вы хотите выделить для php5-fpm, на объем одного процессора, получите количество pm.max_children (наример 10000мб/50мб=200)
  * pm.min_spare_servers = этот параметр начать с количество ядер процессора умножить на 2 (пример 4 ядра * 2 = 8)
  * pm.max_spare_servers = этот параметр количество ядер процессора * 4 (пример 4 *4 = 16)
  * pm.start_servers = этот параметр вычисляется по формуле (pm.min_spare_servers+pm.max_spare_servers)/2 (пример (8+16)/2=12) Итого на выходе получаем примерно конфигурацию для 4 ядерного процессора 10гб памяти (выделенные только под PHP5-FPM, возможно у вас 16Гб общей)
  * pm.max_children = 200
  * pm.start_servers = 12
  * pm.min_spare_servers = 8
  * pm.max_spare_servers = 16

==== Статьи ====

  * http://www.if-not-true-then-false.com/2011/nginx-and-php-fpm-configuration-and-optimizing-tips-and-tricks/