Здравствуйте, я пытаюсь сделать приложение fastcgi, и хочу, чтобы он был многопоточным, поэтому он может обрабатывать много запросов за один раз. Я нашел код, и изменить его немногоNginx + fastcgi multithreading
FCGX_InitRequest(&request, 0, FCGI_FAIL_ACCEPT_ON_INTR);
for (;;)
{
static pthread_mutex_t accept_mutex = PTHREAD_MUTEX_INITIALIZER;
static pthread_mutex_t counts_mutex = PTHREAD_MUTEX_INITIALIZER;
pthread_mutex_lock(&accept_mutex);
rc = FCGX_Accept_r(&request);
pthread_mutex_unlock(&accept_mutex);
... ... ...
FCGX_FPrintF(request.out,"%s",test_stream.str().c_str());
FCGX_Finish_r(&request);
}
Код держать прилипаемость на самом деле принять так он ждет, пока запрос не будет полностью сделано.
Я попытался нерест FastCGI как этот
spawn-fcgi -p 8001 -U www-data -n handler.cgi -F 32
spawn-fcgi -p 8001 -U www-data -n handler.cgi -- /usr/bin/multiwatch -F 32
Вы можете добавить образец файла nginx.conf? – YasserAsmi