CentOS Nginx FastCGI

Подключаем репозиторий EPEL:

В данный момент:

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

Либо сразу:

 # rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

Устанавливаем Nginx:

 # yum -y install nginx

Добавляем в автозагрузку при старте сервера:

 # chkconfig nginx on

Результат:

# chkconfig --list | grep nginx
 nginx  0:off   1:off   2:on    3:on    4:on    5:on    6:off

Ставим пакет php-cli который содержит в себе php-cgi. Он то и будет обрабатывать наши php-скрипты.

 # yum -y install php-cli

Устанавливаем CGI-сервер spawn-fcgi (входит в комплект поставки lighttpd)

 # yum -y install spawn-fcgi

Добавляем в автозагрузку при старте сервера:

 # chkconfig spawn-fcgi on

Результат:

# chkconfig --list | grep spawn-fcgi
spawn-fcgi      0:off   1:off   2:on    3:on    4:on    5:on    6:off

Прописываем  2 строчки в /etc/sysconfig/spawn-fcgi:

SOCKET=/var/run/php-fcgi.sock
OPTIONS="-u nginx -g nginx -s $SOCKET -P /var/run/spawn-fcgi.pid --/usr/bin/php-cgi"

Перезагружаем spawn-fcgi:

#service spawn-fcgi restart
Stopping spawn-fcgi:                                      [  OK  ]
Starting spawn-fcgi:                                      [  OK  ]

Пример виртуального хоста nginx.conf

server
{
listen       80;
location ~ \.php$\
{
root   /home/bezha;
index  index.html index.php  index.htm;
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME /home/bezha$fastcgi_script_name;
include        fastcgi_params;
}
}

Знающие люди говорят что лучше использовать socket

server {
listen       80
location ~ \.php$
{
root   /home/bezha;
index  index.html index.php  index.htm;
fastcgi_pass   unix:/var/run/php-fcgi.sock;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME /home/bezha$fastcgi_script_name;
include        fastcgi_params;
}
}

Похожие записи: CentOS Nginx Apache