Differences between revisions 8 and 9
Revision 8 as of 2013-07-11 11:13:57
Size: 3816
Editor: DarkErr
Comment:
Revision 9 as of 2013-07-18 13:54:16
Size: 3669
Editor: DarkErr
Comment:
Deletions are marked like this. Additions are marked like this.
Line 42: Line 42:
    #имя сервера     #имя сервера:
Line 46: Line 46:
    access_log /var/log/nginx/mysite/access.log;
    error_log /var/log/nginx/mysite/error.log;
    access_log /var/log/nginx/mysite.access.log;
    error_log /var/log/nginx/mysite.error.log;
Line 50: Line 50:
    root /home/www-data/php-projects/mysite;     root /home/www-data/mysite;
Line 76: Line 76:
Если Вы указываете отдельную папку для логов, то не забудьте создать её.

Translation(s): none


Статья не завершена.

Описание конфигурирования связки nginx и php-fpm.

Установка

Установка nginx

Устанавливаем nginx (как root):

aptitude install nginx;

Настраиваем nginx для работы c FastCGI, (более подробно про FastCGI).

Установка 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 дочерний процесс.
    • pm.max_children
    • pm.start_servers
    • pm.min_spare_servers
    • pm.max_spare_servers
  • ondemand - по требованию, дочерние процессы не будут созданы при старте. Дочерние процессы создаются при помощи fork, когда приходит новый запрос на соединение. Используются следующие параметры:
    • pm.max_children
    • pm.process_idle_timeout