Как написать C ++ веб-сервис на Linux-машине с помощью модуля fast_cgi, где Apache является веб-сервером - PullRequest
1 голос
/ 28 сентября 2011

Я смотрю на написание c ++ веб-сервиса для Linux с Apache, который является веб-сервером. Я работаю над Linux впервые, поэтому мне нужна ваша помощь.

Следую инструкциям сайта Fast_Cgi.

  • Я скачал инструментарий "mod_fast_cgi-2.4.6.tar.tar" с сайта "http://www.fastcgi.com/drupal/".
  • Затем я следовал инструкциям, приведенным в файле "INSTALL.AP2", который присутствует в наборе инструментов.

  • Мне удалось сгенерировать «файл fast_cgi.so». Теперь этот файл находится в моем каталоге

Настройка httpd.conf

следующий шаг - внести изменения в мой

В файле http.conf -

Я добавил «LoadModule fastcgi_module modules / mod_fastcgi.so» в начале файла httpd.conf

затем они сказали добавить эти вещи перед директивой виртуального хоста

<IfModule mod_fastcgi.c>

   FastCgiIpcDir /tmp/fcgi_ipc/

   AddHandler fastcgi-script .fcgi

</IfModule>

Пример программы на C ++

моя тестовая программа "Testwebservice.cpp" выглядит следующим образом

#include "fcgi_stdio.h" /* fcgi library; put it first*/
#include <stdlib.h>

int count;

void initialize(void)
{
    count=0;
}

int main(void)
{
    /* Initialization. */  
    initialize();

    /* Response loop. */
    while (FCGI_Accept() >= 0)   {
        printf("Content-type: text/html\r\n"
                "\r\n"
                "<title>FastCGI Hello! (C, fcgi_stdio library)</title>"
                "<h1>FastCGI Hello! (C, fcgi_stdio library)</h1>"
                "Request number %d running on host <i>%s</i>\n",
                ++count, getenv("SERVER_HOSTNAME"));
    }

    return 0;

}

Мне кажется, что-то не хватает в директиве, которую я добавил непосредственно перед директивой виртуального хоста.

Не могли бы вы помочь мне узнать, чего мне здесь не хватает?

что мне нужно добавить в файл httpd.conf, который будет направлять запросы http, поступающие на веб-сервер apache, в мое приложение c ++.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...