Выбираем принтер
Установка PHP как FastCGI

PHP5 на Linux Debian как FastCGIИтак, в прошлой статье мы установили NGINX, теперь нам необходимо поставить интерпретатор PHP и подружить его с NGINX.
PHP мы будем устанавливать как службу, для запуска на операционной системе Debian нам понадобится пакет Spawn-FCGI. Ставим его:
apt-get install spawn-fcgi
Следом можно установить сам PHP:
apt-get install php5-cgi
После этого откроем конфигурационный файл PHP
/etc/php5/cgi/php.ini
И внесем в конец данную строку:
cgi.fix_pathinfo = 1
Теперь запустим PHP как процесс.
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data –f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid
После запуска интерпретатор запустится как служба от имени пользователя www-data, будет иметь pid, расположенный в /var/run/fastcgi-php.pid, станет прослушивать 9000 порт на ip localhost для получения данных.

Чтобы не запускать данный скрипт каждый раз при перезагрузке сервера вручную, добавим его в автозапуск, для этого:

Откроем в редакторе Midnight Commander файл /etc/rc.local и внесем в него приведенную выше команду.
Осталось только настроить NGINX, объяснив ему, что мы используем PHP как CGI, а так же указать ip адрес и номер порта, откуда читать и отправлять данные.
В конфигурационном файле NGINX:
/etc/nginx/sites-enabled/default
И внесем в него изменения:
server {
listen   80;
server_name  server.domain;
...
location / {
root   /var/www/;
index  index.html index.htm index.php;
}

Данные директивы указывают NGINX, какой порт прослушивать и какие типы файлов обрабатывать в какой последовательности. Вначале будут отдаваться файлы с расширением .htm и .html (если они имеются), а уже потом файлы .php

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

Данные директивы указывают как обрабатывать файлы PHP

Чтобы проверить работоспособность PHP, создайте в корне сайта файл phpinfo.php и внесите в него следующие строки:

<?php
phpinfo();
?>

Теперь в браузере наберите:
http://Имя_сайта/phpinfo.php
и Вы увидите все настройки.
А вот дальше начнутся грабли. При установке на сервер с NGINX CMS Joomla вы не будете видеть картинки. Все от того, что надо указать Энжин-Эксу какие типы файлов статики и откуда отдавать, не пропуская их через интерпретатор PHP:
location ~* ^.+\. (jpg|png|gif|bmp|zip|rar|doc|docx|xls|xlsx|ppt|pptx|tar|zg|exe|pdf|msi)$ {
add_header Cache-Control public;
root /var/www;
}

Настройка PHP закончена, в дальнейшем мы будем устанавливать и настраивать СУБД MySQL и кеширование.

 

Добавить комментарий


Защитный код
Обновить