Инструменты пользователя

Инструменты сайта


webserver-nginx-phpfpm

Это старая версия документа!


Прежде всего переходим в папку, куда мы скачаем (http://www.php.net/downloads.php) исходники php

mkdir -p /usr/src/php
cd $_
wget http://www.php.net/get/php-5.3.8.tar.gz/from/de.php.net/mirror -O php.tar.gz
tar -xvf p*
cd p*

Далее сконфигурируем php для последующей сборки. Нужные модули мы поставим позже.

./configure --enable-fpm

Тут вам скорее не хватит каких-либо библиотек.
Это решается очень просто: ищите по пакетам соответствующую библиотеку и повторяйте сборку заново.
Например. Вам конфигуратор сообщает об отсутствии libxml2

#Ищем по пакетам
apt-cache search libxml2 
# и ставим соответствующий dev-пакет.
apt-get install libxml2-dev

Но, видимо, все нужные библиотеки у меня были и конфигуратор мне ничего не сказал.

собираем:

make
make install

Скопируем скрипт запуска-остановки и установим права на запуск

cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm

Добавим в автозапуск

update-rc.d php-fpm defaults

А теперь настроим планировщик. Его конфигурация находится в файле /etc/php-fpm.conf Важно: в текущей версии php-fpm не обрабатывает никаких php.ini , а обрабатывает только указанный выше конфиг. О синтаксисе этого файла написано много и хорошо в официальной документации: http://www.php.net/manual/ru/install.fpm.configuration.php Предполагаю, что пользователь и группа web у вас уже созданы:

[global]
pid = /var/run/php-fpm.pid
error_log = /var/log/php-fpm-error.log
[web]
php_admin_value[date.timezone] = Europe/Moscow
php_admin_flag[cgi.fix_pathinfo] = off
# см. ниже. 

listen = 127.0.1.1:9000
# запомните адрес, на который мы вешаем спавнер

user = web
group = web


pm = dynamic
pm.max_children = 50
pm.start_servers = 3
pm.min_spare_servers = 3
pm.max_spare_servers = 10
pm.max_requests = 500

# пример управления логированием
access.log = /var/log/fpm/www.access.log
access.format = %R - %u %t "%m %r%Q%q" %s %f %{mili}d %{kilo}M %C%%
php_flag[display_errors] = on
php_admin_value[error_log] = /var/log/fpm/fpm-php.www.log
php_admin_flag[log_errors] = on
# пример изменения других опций
php_admin_flag[memory_limit] = 32M

Всё. Перезапускаем спавнер service php-fpm restart и смотрим netstat -na | grep 9000 на предмет наличия спавнера на нужном порту.

webserver-nginx-phpfpm.1325936114.txt.gz · Последнее изменение: 02.11.2014 23:49 (внешнее изменение)

Инструменты страницы