Настройка Nginx и PHP5-FPM

В этой статье я расскажу как поставить на linux-сервер Nginx, PHP, MySql. На своем сервере я сделал это довольно давно, но, чтобы не забывать - напишу здесь.

Ставим Nginx через apt-get:

sudo apt-get install nginx

Файл конфигурации nginx хранится в файле: /etc/nginx/sites-available/default
Этот файл является дефолтным для конфигов nginx. Я не рекомендую хранить в нем настройки для домена. Хорошая практика - разбивать настройки для ваших доменов и поддоменов по разным файлам, чтобы удобнее было работать с ними в дальнейшем. Поэтому создадим отдельный файл с конфигурацией для конкретного домена.

nano /etc/nginx/sites-available/your_domain.com

В файле пишем следующее:

server
{
    listen 80;
    root    /var/www;
    index index.php index.html index.htm;
    server_name  your_domain.com www.your_domain.com;
}

Подробно разберем, что мы написали:

listen 80- сервер nginx будет слушать все соединения приходящие на порт 80 root /var/www - здесь мы указываем корневую папку для контента, который будем отдавать. index index.php index.html index.htm - в случае если мы не укажем ресурс для запроса в строке адреса, будет отдаваться этот ресурс server_name  your_domain.com www.your_domain.com - название вашего домена

Настройка php5-fpm

Так как мы будем использовать php для обработки наших скриптов, необходимо поставить пакет php5-fpm

 

sudo apt-get install php5-cli php5-common php5-mysql php5-gd php5-fpm php5-cgi php5-fpm php-pear php5-mcrypt

 

Настроим php5-fpm для связи с nginx, откроем файл /etc/php5/fpm/pool.d/www.conf и изменим следующие строки:

 

listen = /var/run/php5-fpm.sock

 

Это свяжет nginx и linux через сокет.

Перезапускаем php5-fpm

 

sudo service php5-fpm restart

 

Теперь настроим nginx для работы с php. Для этого создадим файл upstream, в который положим настройки nginx для php, и потом включим данный файл в конфигурационный файл нашего сайта.

sudo nano /etc/nginx/common/upstream

Добавим в файл следующие строки:
upstream php-fpm
{
  server unix:/var/run/php5-fpm.sock;
}

Теперь открываем конфигурационный файл нашего сайта и добавляем в начало файла следующую строку:

include common/upstream;

На этом настройка nginx для работы в связке с php завершена.


comments powered by Disqus