Пример программы на C / C ++ FastCGI для разработчиков (не работает?) - PullRequest
2 голосов
/ 03 января 2011

Я использую fastcgi C / C ++ toolkit , чтобы разработать тестовое приложение fastcgi.Я построил (и сейчас тестирую) этот пример , предоставленный инструментарием.

Я загрузил Apache mod_fcgid и успешно перезапустил демон apache2.Однако, когда я пытаюсь получить доступ к ресурсу fastcgi, он возвращает пустую страницу.

Примечание: Я внес следующие изменения в пример кода (как онне работал со значением fd сокета по умолчанию 0):

int sock_fd = FCGX_OpenSocket(":5000", 1);
FCGX_InitRequest(&request, sock_fd, 0);

Мой файл /etc/apache2/mods-enabled/fcgid.conf выглядит следующим образом:

<IfModule mod_fcgid.c>
     AddHandler fcgid-script .fcgi
     SocketPath /var/lib/apache2/fcgid/sock
     IPCConnectTimeout 10
     IPCCommTimeout 20
     OutputBufferSize 0
     MaxRequestsPerProcess 500
</IfModule>

Мой файл /etc/apache2/mods-enabled/fcgid.load выглядит следующим образом:

LoadModule fcgid_module /my/path/here/libs/mod_fcgid.so

Затем я получил доступ к «ресурсу» в браузере, используя следующий URL:

http://127.0.0.1:5000

Что я делаю не так?(при условии, что кому-то действительно удалось заставить приведенный выше пример работать)

Я занимаюсь разработкой / тестированием в Linux Ubuntu 10.x

Ответы [ 2 ]

0 голосов
/ 18 апреля 2013

Запустите apachctl -D, чтобы убедиться, что у вас запущен mod_fcgid. Я полагаю, что при сбое вашего процесса не происходит никакого вывода (т.е. белой страницы).

Вам нужно будет скомпилировать вашу программу с отладкой (-O0 -ggdb), повторно развернуть и перезапустить Apache.

Измените конфигурацию Apache, чтобы порождать только один процесс. Это позволит вам присоединить gdb к вашему приложению FCGI и отладить его.

Дайте мне знать, если вам понадобится дополнительная помощь.

0 голосов
/ 20 января 2011

я не использую apache какое-то время, но я думаю, что ваш URL-адрес плохой я предполагаю, что ваш Apache работает на порту 80, и ваш echo.fcgi находится в корне папки Apache

для информации, я использую nginx для приложения подачи файлов

http://localhost/echo.fcgi
...