Я пытаюсь запустить fastcgi приложение, записанное на языке C позади веб-сервера Nginx. Веб-браузер никогда не заканчивает загружаться, и ответ никогда не завершается. Я не уверен, как приблизиться к нему и отладка. Любое понимание ценилось бы.
Привет мировое приложение было взято с fastcgi.com и упрощено для сходства с этим:
#include "fcgi_stdio.h"
#include <stdlib.h>
int main(void)
{
while(FCGI_Accept >= 0)
{
printf("Content-type: text/html\r\nStatus: 200 OK\r\n\r\n");
}
return 0;
}
Выходной исполняемый файл выполняется с любым:
cgi-fcgi - соединитесь 127.0.0.1:9000 a.out
или
-a120.0.0.1-p9000-n./a.out икры-fcgi
Конфигурация Nginx:
server {
listen 80;
server_name _;
location / {
# host and port to fastcgi server
root /home/user/www;
index index.html;
fastcgi_pass 127.0.0.1:9000;
}
}
Вам нужно позвонить fcgi_Accept
в , а цикл
:
while(FCGI_Accept() >= 0)
У вас есть fcgi_Accept> = 0
в вашем коде. Я думаю, что результаты функции FCGI_ACPECT
сравниваются с 0
. Поскольку функция существует, сравнение никогда не ложно, но функция не вызывается.