Настройка Nginx + php-fcgi

less than 1 minute read

Полагаю, что nginx у Вас уже установлен. Осталось настроить обработку php. Все описанные действия проводились на CentOS Linux. По аналогии их можно повторить и для Linux Ubuntu.

Для CentOS Вам потребуется добавить Epel репозитарий:
Centos 5.x:

wget http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm  
rpm -Uvh epel-release-5*.rpm

Centos 6.x:

wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm  
rpm -Uvh epel-release-6*.rpm

Дальше ставим нужные пакеты:

yum install php-common php-mbstring php-bcmath php-cli php-mysql spawn-fcgi

Скачиваем нужные файлы:

wget -O /etc/init.d/php-fastcgi /wp-content/uploads/2014/02/etc-init.d-php-fastcgi  
wget -O /usr/bin/php-fastcgi /wp-content/uploads/2014/02/usr-bin-php-fastcgi

Делаем их исполняемыми:

chmod +x /etc/init.d/php-fastcgi  
chmod +x /usr/bin/php-fastcgi

Ставим на автозагрузку и запускаем:

chkconfig -add php-fastcgi  
chkconfig php-fastcgi on  
/etc/init.d/php-fastcgi start

Проверяем:

netstat -nlp |grep cgi

Дальше настраиваем Nginx:
Добавляем следующие строки в настройки хоста в nginx:

location ~ \.php$ {
  root           /var/www/html;
  fastcgi_pass   127.0.0.1:9000;
  fastcgi_index  index.php;
  fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
  include        fastcgi_params;
}

Перезапускаем nginx.