762
Comment:
|
← Revision 13 as of 2016-07-09 13:40:24 ⇥
4242
Добавил ссылку на статью.
|
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 13: | Line 12: |
== Установка == | = Установка = |
Line 15: | Line 14: |
=== Установка nginx === === Установка php-fpm === |
== Установка nginx == Устанавливаем nginx (как root): {{{ aptitude install nginx; }}} |
Line 20: | Line 21: |
== Конфигурирование == | == Установка php-fpm == Устанавливаем пакеты php5-fpm php5-cgi: {{{ aptitude install php5-fpm php5-cgi; }}} |
Line 22: | Line 27: |
=== Конфигурирование nginx === | До окончания настроек рекомендуется остановить nginx и php-fpm: {{{ /etc/init.d/nginx stop; /etc/init.d/php5-fpm stop; }}} |
Line 24: | Line 33: |
=== Конфигурирование php-fpm === | = Конфигурирование = == Конфигурирование nginx == Нужно создать {{{location}}} в котором указать рабочую директорию для php скриптов (например {{{/home/www-data/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;}}} Более подробную информацию о директивах конфигурационного файла Вы можете найти на сайте проекта [[http://www.php.net/manual/ru/install.fpm.configuration.php|php-fpm configuration file]]. |
Line 27: | Line 87: |
##== See also == | == См. также == * [[http://nginx.org/ru/|Официальный сайт Nginx]] * [[http://www.php.net/manual/ru/install.fpm.php|php-fpm]] * [[http://interface31.ru/tech_it/2016/04/nginx-php-fpm-debian-ubuntu.html|Настраиваем веб-сервер на базе Nginx + PHP-FPM в Debian / Ubuntu Server]] |
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/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;
Более подробную информацию о директивах конфигурационного файла Вы можете найти на сайте проекта php-fpm configuration file.
См. также