3669
Comment:
|
3987
|
Deletions are marked like this. | Additions are marked like this. |
Line 4: | Line 4: |
{{{#!wiki caution '''Статья не завершена.''' |
|
Line 7: | Line 5: |
}}} | |
Line 9: | Line 6: |
FPM (Менеджер процессов FastCGI) является альтернативной реализацией PHP FastCGI с несколькими дополнительными возможностями обычно используемыми для высоконагруженных сайтов. |
|
Line 21: | Line 20: |
Настраиваем nginx для работы c [[ru/nginx/FastCGI|FastCGI]], (более подробно про [[http://ru.wikipedia.org/wiki/FastCGI|FastCGI]]). | |
Line 82: | Line 80: |
* pm.max_children * pm.start_servers * pm.min_spare_servers * pm.max_spare_servers * ondemand - по требованию, дочерние процессы не будут созданы при старте. Дочерние процессы создаются при помощи fork, когда приходит новый запрос на соединение. Используются следующие параметры: * pm.max_children * pm.process_idle_timeout |
* ondemand - по требованию, дочерние процессы не будут созданы при старте. Дочерние процессы создаются при помощи fork, когда приходит новый запрос на соединение. |
Line 90: | Line 82: |
По умолчанию соединение происходит через Unix-сокеты, {{{ unix:/var/run/php5-fpm.sock;}}} Более подробную информацию о директивах конфигурационного файла Вы можете найти на сайте проекта {{http://www.php.net/manual/ru/install.fpm.configuration.php|php-fpm}}. |
|
Line 92: | Line 87: |
##== See also == | == См. также == {{http://www.php.net/manual/ru/install.fpm.php|php-fpm}} |
Translation(s): none
Описание конфигурирования связки nginx и php-fpm.
FPM (Менеджер процессов FastCGI) является альтернативной реализацией PHP FastCGI с несколькими дополнительными возможностями обычно используемыми для высоконагруженных сайтов.
Contents
Установка
Установка nginx
Устанавливаем nginx (как root):
aptitude install nginx;
Установка php-fpm
Устанавливаем пакеты php5-fpm php5-cgi:
aptitude install php5-fpm php5-cgi;
До окончания настроек рекомендуется остановить nginx и php-fpm:
/etc/init.d/nginx stop; /etc/init.d/php5-fpm stop;
Конфигурирование
Конфигурирование nginx
Нужно создать location в котором указать рабочую директорию для php скриптов (например /home/www-data/php-projects/mysite ) и параметры соединения с php-fpm:
server{ #имя сервера: server_name mysite.com; #логи access_log /var/log/nginx/mysite.access.log; error_log /var/log/nginx/mysite.error.log; # корневая директория root /home/www-data/mysite; location ~ \.php$ { try_files $uri = 404; include fastcgi_params; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } # порядок индексов location / { index index.php index.html index.htm; } #кастомная страница 404 location /errors { alias /home/www-data/mysite/errors ; } error_page 404 /errors/404.html; }
Конфигурирование php-fpm
Основные конфигурационные файлы /etc/php5/fpm/php.ini и /etc/php5/fpm/pool.d/www.conf. В файле www.conf наиболее интересным параметром является режим работы менеджера дочерних процессов, он может работать в трёх режимах:
static - фиксированное число дочерних процессов (определяться параметром pm.max_children);
- dynamic - число дочерних процессов определяется на основе следующих директив.В этом режиме всегда будет хотя бы 1 дочерний процесс.
- ondemand - по требованию, дочерние процессы не будут созданы при старте. Дочерние процессы создаются при помощи fork, когда приходит новый запрос на соединение.
По умолчанию соединение происходит через Unix-сокеты, unix:/var/run/php5-fpm.sock;
Более подробную информацию о директивах конфигурационного файла Вы можете найти на сайте проекта .
См. также