ПРОЕКТЫ 


  АРХИВ 


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 Tue, 15 Feb 2005, Dmitry Morozovsky wrote:

On Sun, 13 Feb 2005, Igor Sysoev wrote:

IS> 2) Проверил C-шную программу из примера под FreeBSD 4.8. Не работает
IS>    так же, как не работал перловый скрипт. Вывод - проблема не в перле,
IS>    а в FastCGI (библиотеке или cgi-fcgi).

Помнится, в RELENG_4 некоторое время назад что-то делали с пайпами. Что нужно
проверять, я б на современном попробовал?

Пример из devkit:
------------
#include "fcgi_stdio.h"
#include <stdlib.h>

int main(void)
{
    int count = 0;
    while(FCGI_Accept() >= 0)
        printf("Content-type: text/html\r\n"
               "\r\n"
               "<title>FastCGI Hello!</title>"
               "<h1>FastCGI Hello!</h1>"
               "Request number %d running on host <i>%s</i>\n",
                ++count, getenv("SERVER_NAME"));
    return 0;
}
------------

Собиралось это так:
------------
FCGI =          fcgi-2.4.0

$(WORK)/$(FCGI)/.build:
                test -d $(WORK) || mkdir $(WORK)

                gunzip -c $(DIST)/$(FCGI).tar.gz | ( cd $(WORK); tar xf - )

                cd $(WORK)/$(FCGI)                                                      && ./configure                                                          && make

                touch $@


fcgi_tcp:       $(WORK)/fcgi fcgi_tcp_run
fcgi_tcp_run:
                $(WORK)/$(FCGI)/cgi-fcgi/cgi-fcgi                                               -start -connect localhost:9001                                          $(WORK)/fcgi 1

fcgi_unix:      $(WORK)/fcgi fcgi_unix_run
fcgi_unix_run:
                $(WORK)/$(FCGI)/cgi-fcgi/cgi-fcgi                                               -start -connect /tmp/fcgi                                               $(WORK)/fcgi 1


$(WORK)/fcgi:   $(WORK)/$(FCGI)/.build
                test -d $(WORK) || mkdir $(WORK)
                $(CC) -o $@ -I $(WORK)/$(FCGI)/include                                          test/fcgi/fcgi.c                                                        $(WORK)/$(FCGI)/libfcgi/.libs/libfcgi.a
------------
fcgi_tcp просто циклится в accept() (даже на 5.3),
А fcgi_unix на 5.3 работает, а на 4.8 не работает.


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




 




Copyright © Lexa Software, 1996-2009.