[Решено]Обработка php/python в nginx

Как-то не получается с nginx'ом подружиться. Не обрабатывает, либо не распознаёт php-файлы. Вики не добавила просветления.
Что установлено:
nginx php php-fpm spawn-fcgi-php
Конфиг nginx:
location ~ \.php$ {
 66            # root           html;
 67             root            /srv/http;
 68             fastcgi_pass   127.0.0.1:9000;
 69             #fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
 70             #fastcgi_pass   unix:/var/run/spawn-fcgi-php.sock;
 71             fastcgi_index  index.php;
 72             fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
 73             #include        fastcgi_params;
 74             include         fastcgi.conf;
 75 
 76 
 77             fastcgi_param  QUERY_STRING       $query_string;
 78             fastcgi_param  REQUEST_METHOD     $request_method;
 79             fastcgi_param  CONTENT_TYPE       $content_type;
 80             fastcgi_param  CONTENT_LENGTH     $content_length;
fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
 83             fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_    name;
 84             fastcgi_param  REQUEST_URI        $request_uri;
 85             fastcgi_param  DOCUMENT_URI       $document_uri;
 86             fastcgi_param  DOCUMENT_ROOT      $document_root;
 87             fastcgi_param  SERVER_PROTOCOL    $server_protocol;
 88 
 89             fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
 90             fastcgi_param  SERVER_SOFTWARE    nginx;
 91 
 92             fastcgi_param  REMOTE_ADDR        $remote_addr;
 93             fastcgi_param  REMOTE_PORT        $remote_port;
 94             fastcgi_param  SERVER_ADDR        $server_addr;
 95             fastcgi_param  SERVER_PORT        $server_port;
 96             fastcgi_param  SERVER_NAME        $server_name;
 97 
 98        }

При fastcgi_pass 127.0.0.1:9000; - читает только html, .php и вставки .php в html страницу игнорирует
При fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; - .php не видит (file not found), вставки .php в html страницу игнорирует
При fastcgi_pass unix:/var/run/spawn-fcgi-php.sock; - .php не обрабатывает (The page you are looking for is temporarily unavailable.
Please try again later), вставки .php в html страницу игнорирует
С nginx встречаюсь впервые, хотелось бы использовать без apache. Если кто-то с ним успешно работал на арче, подскажите решение
HP Pavilion g6-1054er
DualCore Intel Core i5-2410M, 8GB DDR3 SDRAM, Mobile Intel HD Graphics, ATI Radeon HD 6470M
Настройки виртуального сервера Nginx (одна из минимальных настроек):
location ~ \.php$ {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT $document_root;
        }
    }
С условием что скрипты находятся в document_root. Я рекомендую через сокет а не TCP. php-fpm удобнее управлять и настраивать нежили spawn-fcgi-php, а на деле то же самое.

Осталось правильно настроить php-fpm. Желательно создать отдельный пул, и не протупить с настройкой группы и пользователя для процессов php.

Для питона используйте uWSGI. Конфиг nginx:

location /mypython {
	uwsgi_pass unix:/tmp/wsgi.sock;
	include uwsgi_params;
	uwsgi_param             UWSGI_CHDIR             /srv/myhost;
	}
Остальное читаем маны по настройке uWSGI.

P.S. Я запускаю uWSGI через supervisor. Мне проще было написать свои конфиги чем включать libastral)
Спасибо! Буду пробовать
HP Pavilion g6-1054er
DualCore Intel Core i5-2410M, 8GB DDR3 SDRAM, Mobile Intel HD Graphics, ATI Radeon HD 6470M
Забываю отписаться и выразить свою благодарность за помощь. С php-fpm была небольшая проблема при обработке php в html-документе, решилась прописыванием строки security.limit_extensions = .php .html в php-fpm.conf.
HP Pavilion g6-1054er
DualCore Intel Core i5-2410M, 8GB DDR3 SDRAM, Mobile Intel HD Graphics, ATI Radeon HD 6470M
nginx хорош для статики и как фронтенд к апачу…
Но что бы к нему php прикручивать это изврат…ИМХО
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
nafanja
nginx хорош для статики и как фронтенд к апачу…
Но что бы к нему php прикручивать это изврат…ИМХО
NginX предназначен для высоконагруженных либо ресурсодефицитных серверов, на которых Апач даже с фронтэндом сожрёт всю память и повесится, поскольку выделяет её вагонами, форкаясь на каждый запрос.
php-fpm с nginx позволяет добиться ограничения количества процессов php и выстраивания запросов в очередь, кроме того, можно запускать php не от пользователя вер-сервера, а от другого, в том числе разного для каждого хоста, а для особых параноиков – каждого в отдельном чруте :)

А изврат это только для новичков и веб-разработчиков, которым совсем не обязательно заниматься такими сложностями у себя дома :)
nafanja, Natiro, да всё гораздо хуже! Была необходимость тестить два сайта: один на пыхах, другой с django. Django с апачевским модулем ещё уметь надо подружить, а апач ради одного “php-шного” сайта заводить - зачем, если nginx может справиться? Связка nginx + uwsgi настраивается проще, как по мне. Вот и извращаюсь :)
HP Pavilion g6-1054er
DualCore Intel Core i5-2410M, 8GB DDR3 SDRAM, Mobile Intel HD Graphics, ATI Radeon HD 6470M
Natrio, вот я про то и говорю что изврат. Так как большинство движков и фрейвоков активно юзают плюшки апача, а найти хостинг с чистым nginx и движ для сайта поддерживающий хотя бы чпу под nginx практически не реально. nginx имеет смысл юзать только под конкретную задачу высоконагруженного специально заточенного проекта. Ну или как в данном случае ли ж бы заработал Django )))
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
ну для меня nginx это средство исправления одного недостатка как минимум апача, т.е. без него юзать хоть както нагружаемый проект на апаче не особо выгодно, но и юзать этот прокси как серверное решение для веб задач, ну также, если для себя и двух соседей да, когда много не нужно, но в остальном такой же малополезный способ. Так что я за nafanja.
Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
 
Зарегистрироваться или войдите чтобы оставить сообщение.