Re[2]: зукьшыышщт

Igor Sysoev is at rambler-co.ru
Sun Nov 13 11:18:09 MSK 2005


On Sun, 13 Nov 2005, [Windows-1251] Антон wrote:

> d> А можно вопрос - зачем spawn-fcgi? Или я чего-то непонял - но ведь
> d> если собрать php --width-fastcgi, он и сам висит, порт слушает,
> d> и nginx напрямую с ним работает
>
> Можно, пробовал, но:
> 1. было два неприятных глюка:
> а. При хоть сколько серьезной нагрузке время отклика пхп становилось
>  непомерно большим(скрипт обрабатывался быстро, но перед этим видимо
>  стоял в очереди секунд по 10-40).
> б. PHP почему-то любил падать в кору после каждых N скриптов, вне
>  зависимости от нагрузки(ночью редко, днем постоянно), nginx при этом
>  отдавал юзерам Bad Gateway, у меня откликов от юзеров было много,
>  хотя PHP и перезапускался в цикле).
> со spawn-fcgi этих проблем не возникает, т.к. демонов стартует
> несколько и они почему-то толи не падают, толи запрос от упавшего
> уходит на работающий.

PHP можно запускать так:

PHP_FCGI_CHILDREN=4 PHP_FCGI_MAX_REQUESTS=100000 php -b port

тогда он запустит 4 процесса и будет выходить после 100000 запросов.
Хотя у меня тоже сложилось впечатление, что с spawn-fcgi работать будет
стабильнее.

> 2. коннекты можно мапить только на порт. spawn-fcgi умеет сокеты.

А это можно вылечить с помощью прилагаемого патча.


Игорь Сысоев
http://sysoev.ru
-------------- next part --------------
--- sapi/cgi/cgi_main.c	Thu Jan 20 16:39:51 2005
+++ sapi/cgi/cgi_main.c	Thu Jan 20 16:42:18 2005
@@ -1145,7 +1145,7 @@
 		 * path (it's what the fastcgi library expects)
 		 */
 		
-		if (strchr(bindpath, ':') == NULL) {
+		if (strchr(bindpath, ':') == NULL && strchr(bindpath,'/') == NULL) {
 			char *tmp;
 
 			tmp = malloc(strlen(bindpath) + 2);


More information about the nginx-ru mailing list