ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: apache => nginx + fastcgi + php



On Fri, 13 Feb 2004, RaPaMaN wrote:

On Sunday 13 February 2005 14:09, Igor Sysoev wrote:
On Fri, 13 Feb 2004, RaPaMaN wrote:
On Sunday 13 February 2005 13:26, Andrei Nigmatulin wrote:
В Птн, 13.02.2004, в 14:54, RaPaMaN пишет:
Добрый день,

Кто-нибудь делал связку nginx + fastcgi + php и отказ от апача на таких
хостах ? Если php пускать как fastcgi сервер.

Реально ли сейчас такая комбинация или еще надо подождать ?

Одна из проблем которую я вижу - отсутствие в php нормального fast-cgi
proccess manager. Туда должна входить возможность плавной остановки и
перезагрузки php процессов, перезагрузка конфигурации, логи и т.п.
Мы его начали писать, проект скорее всего будет выпущен под OS лицензией
и доступен для тестирования в ближайшее время.

Просто если бы lighttpd умел сжимать статику ( эта фича висит как запрос
в cvs), я бы его и поставил, он хорошо поддерживает fastcgi.

А nginx умеет сжимать все и динамику (проксированную) и статику. И мне
нравится :)

nginx полностью поддерживает remote FastCGI с двумя ограничениями,
которые не должны встретиться в реальных условиях:

Сегодня обновлюсь до 0.1.18 и начну эксперимент делать.

1) заголовок запроса (FastCGI параметры и HTTP_*) не может быть больше 64K.
2) заголовок ответа должен быть в одной FastCGI записи (8K).

А что является одной FastCGI записью ?

FastCGI - это бинарный протокол. Данные в нём передаются в записях.
Максимальный размер записи 64K - 1. Библиотека FastCGI, которая используется
для поддержки fastcgi в php и прочая, передаёт stdout в 8К-ных записях,
а stderr - в 512 байтах. В ответе fastcgi-сервера сначала идёт HTTP-подобный
заголовок, а затем начало тела ответа. Вот этот заголовок не должен быть
больше 8К.

А отправлять на fcgi сервер через location ? Правильно, я понимаю ? Т.е. для
файлов с расширением таким-то на fcgi, остальным в дргугую сторону.

В качестве FastCGI proccess manager можно попробовать src/spawn-fcgi.c
из дистрибутива lighttpd.

Можно еще попробовать cgi менелжер из dev-kit от mod_fastcgi. Буду пробовать.

cgi-fcgi ? У меня не получилось с его помощью запустить perl'овый
FastCGI под FreeBSD:

http://groups-beta.google.com/group/fido7.ru.unix.bsd/messages/1ab2820ed70fdf8e?thread_id=4a1416c1f8ae848fnoheader=1

Кстати, а кто-нибудь пробовал запускать lighttpd и fastcgi на разных
машинах ?

Он это понимает, только как я понимаю :) на том сервере должна быть полная
копия сайта,

Вернее сказать, для того, чтобы lighttpd передавал запросы на удалённый
fastcgi, (насколько я понял) у него должна быть иерархия файлов
с такими же именами, пусть даже пустые.

Что касается использования разных машин, то во время разработки я долго
не мог понять, почему у меня не работают POST'ы в fastcgi, и я поставил
lighttpd 1.3.5, чтобы сравнить с ним, но соединиться с другой машиной
у меня не получилось, пришлось запускать lighttpd и fastcgi на одной машине.


Игорь Сысоев
http://sysoev.ru




 




Copyright © Lexa Software, 1996-2009.