Управление сайтом(CMS): mAdmin от www.Site.net.ua
TinySQL

Тут я расскажу основные принципы работы связи CGI скриптов с nginx на CentOS 6.x с использование программы fcgiwrap. Статья расчитана, что nginx уже установлен настроен и запущен как сервис.

Простое решение

для небольших сайтов

  • 100% переносимость
  • Простой интерфейс
  • Скорость ограничена только возможностями HDD
  • API для тех, кто желает разнести UI и ServerSide (в разработке)

CGI scripts with Nginx

Тут я расскажу основные принципы работы связи CGI скриптов с nginx на CentOS 6.x с использование программы fcgiwrap. Статья расчитана, что nginx уже установлен настроен и запущен как сервис.

Если у вас ннеустановлен еще fcgiwrap пакет для CentOS 6.0, Вы должны скачать его и установить.

Для начала установите необходимые пакеты :

yum groupinstall 'Development Tools'
yum install fcgi-devel

Теперь можно ставить  fcgiwrap из сырцов:

cd /usr/local/src/
git clone git://github.com/gnosek/fcgiwrap.git
cd fcgiwrap
autoreconf -i
./configure
make
make install

Тепер fcgiwrap установлен тут - /usr/local/sbin/fcgiwrap.

Для работы нам понадобится еще один пакет - spawn-fcgi который позволяет запустить fcgiwrap как демона:

yum install spawn-fcgi

Тепеть нам нужно отредактироать конфигурационный файл для spawn-fcgi. Он обычно лежит тут - /etc/sysconfig/spawn-fcg. Мы добавим в него следующее :

FCGI_SOCKET=/var/run/fcgiwrap.socket
FCGI_PROGRAM=/usr/local/sbin/fcgiwrap
FCGI_USER=nginx
FCGI_GROUP=nginx
FCGI_EXTRA_OPTIONS="-M 0700"
OPTIONS="-u $FCGI_USER -g $FCGI_GROUP -s $FCGI_SOCKET -S $FCGI_EXTRA_OPTIONS -F 1 -P /var/run/spawn-fcgi.pid -- $FCGI_PROGRAM"

Затем мы добавляем его в автозагрузку, как новый сервис.

chkconfig –levels 2345 spawn-fcgi on

Стартуем новый сервис:

service spawn-fcgi start

Не забываем добавить в конфигурационный файл nginx такие строчки.

location /cgi-bin/ {
gzip off;
fastcgi_pass unix:/var/run/fcgiwrap.socket;
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

И, наконец, перезапускаем nginx

service nginx restart


На правах рекламы
Создание сайта и поддержка проекта - ООО "Сайт!"