Наступил момент когда я решил перевести свой проект FastCGI, мне не нужна была производительность, не нужна была стабильность или еще какие-то преимущества, которые предоставляет FastCGI. В первую очередь это было желание узнать что то новое, понять как оно работает, и посмотреть все преимущества в деле.
Почитав большое количество информации найденной в интернете, я сделал выбор в пользу php-fpm+Nginx.
Почему именно эта связка, ну во-первых потому что проект написан на php, во-вторых неформальным стандартом в сети является именно она.
Первым делом я перечитал огромную кучу информации, найденной в поисковиках, и везде было практически одно и то же, скачать php, наложить патч php-fpm, make, make install, решение вполне понятное но не совсем правильное для ОС с системами управления пакетами.
Поэтому мной было найдено решение с использованием пакетного менеджера, его я и приведу ниже.
Все манипуляции производились мной на Amazon EC2 micro с установленной ОС Amazon Linux x64, поэтому буду описывать все манипуляции для этой системы. Для других систем все и пакетных менеджеров все практически идентично.
Установка nginx:
Установка php(мне это не понадобилось т.к. у меня работал Apache+php):
Установка php-fpm:
После установки понадобиться небольшая настройка.
Настройка nginx для работы с php-fpm, файл конфигурации находиться /etc/nginx/nginx.conf:
Вся настройка сводиться к добавления внутрь секции «location» следующего текста. Не забудет так же исправить порт на котором работает сервис если вы так же как и я изначально его будете ставить на систему с уже работающим веб-сервером Apache.
Для запуска связки в режиме стандартных настроек, ничего менять в файле конфигурации(/etc/php-fpm.conf) не надо. Все параметры конфигурации хорошо описаны в самом файле, так же дополнительно можно посмотреть тут.
Когда настройки завершены переходим к запуску, здесь все еще проще
Тестирование, сравнение apache+php и nginx+php-fpm, приводить здесь не буду потому что это статья про настройку. Выражу здесь только свое субъективное мнение nginx+php-fpm работает не значительно быстрее apache+php.
Почитав большое количество информации найденной в интернете, я сделал выбор в пользу php-fpm+Nginx.
Почему именно эта связка, ну во-первых потому что проект написан на php, во-вторых неформальным стандартом в сети является именно она.
Первым делом я перечитал огромную кучу информации, найденной в поисковиках, и везде было практически одно и то же, скачать php, наложить патч php-fpm, make, make install, решение вполне понятное но не совсем правильное для ОС с системами управления пакетами.
Поэтому мной было найдено решение с использованием пакетного менеджера, его я и приведу ниже.
Все манипуляции производились мной на Amazon EC2 micro с установленной ОС Amazon Linux x64, поэтому буду описывать все манипуляции для этой системы. Для других систем все и пакетных менеджеров все практически идентично.
Установка компонентов
Установка nginx:
sudo yum install nginx
Установка php(мне это не понадобилось т.к. у меня работал Apache+php):
sudo yum install php
Установка php-fpm:
sudo yum install php-fpm
После установки понадобиться небольшая настройка.
Настройка nginx для работы с php-fpm, файл конфигурации находиться /etc/nginx/nginx.conf:
Вся настройка сводиться к добавления внутрь секции «location» следующего текста. Не забудет так же исправить порт на котором работает сервис если вы так же как и я изначально его будете ставить на систему с уже работающим веб-сервером Apache.
location ~ \.php$ {
#root ;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;
include fastcgi_params;
}
Для запуска связки в режиме стандартных настроек, ничего менять в файле конфигурации(/etc/php-fpm.conf) не надо. Все параметры конфигурации хорошо описаны в самом файле, так же дополнительно можно посмотреть тут.
Запуск
Когда настройки завершены переходим к запуску, здесь все еще проще
sudo service php-fpm start
sudo service nginx start
Тестирование, сравнение apache+php и nginx+php-fpm, приводить здесь не буду потому что это статья про настройку. Выражу здесь только свое субъективное мнение nginx+php-fpm работает не значительно быстрее apache+php.