10 августа 2010 г.

Nginx и php-fpm в Ubuntu

Итак, мы установили PHP 5.3.3, теперь из этого события нужно получить максимум выгоды. Попробуем запустить PHP-FPM бэкендом к nginx. Это позволит нам более гибко конфигурировать веб сервер и экономить на ресурсах.



Пробуем в лоб
sudo /etc/init.d/php5-fpm start
Starting php5-fpm Aug 10 11:33:27.131748 [ALERT] [pool www] pm.min_spare_servers(0) must be a positive value
Aug 10 11:33:27.131966 [ERROR] failed to post process the configuration failed
С ходу не запустилось, ну и ладно, отредактируем конфиг.
sudo vi /etc/php5/fpm/php5-fpm.conf
и раскомментируем следующие строки pid = /var/run/php5-fpm.pid pm.start_servers = 20 pm.min_spare_servers = 5 pm.max_spare_servers = 35 Файл pid нам нужен для корректной остановки службы. Создадим его вручную и выставим правильного владельца.
cd /var/run/
sudo touch ./php5-fpm.pid
sudo chown www-data:www-data ./php5-fpm.pid
В целях безопасности сделаем небольшое изменение в php.ini
sudo vi /etc/php5/fpm/php.ini
ищем строку cgi.fix_pathinfo
и меняем на
cgi.fix_pathinfo = 0
Пробуем запустить еще раз
sudo /etc/init.d/php5-fpm start
Starting php5-fpm  done
Получилось! Теперь приступим к конфигурированию nginx.
sudo vi /etc/nginx/sites-available/default
Секция для обработки PHP файлов должна выглядеть так
location ~ \.php$ {
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  /var/www$fastcgi_script_name;
    include fastcgi_params;
}
Перезагружаем веб сервер
sudo /etc/init.d/nginx restart
И радуемся результату.

Комментариев нет:

Отправить комментарий