C / C ++ FastCGI开发人员工具包示例程序(不工作?)

时间:2011-01-03 18:11:05

标签: c++ c linux apache fastcgi

我正在使用fastcgi C/C++ toolkit来开发测试fastcgi应用程序。 我构建了(现在正在测试)工具包提供的this example

我已经加载了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

然后我使用以下网址在浏览器中访问了“资源”:

http://127.0.0.1:5000

我做错了什么? (假设有人实际设法得到上面引用的例子,去工作)

我正在Linux Ubuntu 10.x上开发/测试

2 个答案:

答案 0 :(得分:0)

我暂时不使用apache,但我认为你的网址很糟糕 我假设您的apache在端口80上运行,而您的echo.fcgi在apache文件夹的根目录

有关信息,我使用nginx作为服务fcgi应用程序

http://localhost/echo.fcgi

答案 1 :(得分:0)

运行apachctl -D以验证您的mod_fcgid是否正在运行。我相信当你的进程崩溃时不会出现输出(即白页)。

您需要使用debugging(-O0 -ggdb)编译程序,重新部署并重新启动Apache。

将Apache配置更改为仅生成一个进程。这将允许您将gdb附加到FCGI应用程序并进行调试。

如果您需要进一步的帮助,请与我们联系。