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.
См. также