当前位置:  开发笔记 > 编程语言 > 正文

带有Nginx的C语言FastCGI

如何解决《带有Nginx的C语言FastCGI》经验,为你挑选了2个好方法。

我试图在Nginx Web服务器后面运行用C语言编写的fastcgi应用程序.Web浏览器永远不会完成加载,响应永远不会完成.我不知道如何处理和调试.任何见解将不胜感激.

hello world应用程序取自fastcgi.com并简化为如下所示:

#include "fcgi_stdio.h"
#include 

int main(void)
{

 while(FCGI_Accept >= 0)
 {
  printf("Content-type: text/html\r\nStatus: 200 OK\r\n\r\n");

 }

  return 0;
}

输出可执行文件使用以下任一项执行:

cgi-fcgi -connect 127.0.0.1:9000 a.out

要么

spawn-fcgi -a120.0.0.1 -p9000 -n ./a.out

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;
 }
}

Sinan Ünür.. 16

你需要FCGI_Acceptwhile循环中调用:

while(FCGI_Accept() >= 0)

FCGI_Accept >= 0的代码中有.我认为这会导致FCGI_Accept与之比较的函数的地址0.由于函数存在,因此比较永远不会为false,但不会调用该函数.



1> Sinan Ünür..:

你需要FCGI_Acceptwhile循环中调用:

while(FCGI_Accept() >= 0)

FCGI_Accept >= 0的代码中有.我认为这会导致FCGI_Accept与之比较的函数的地址0.由于函数存在,因此比较永远不会为false,但不会调用该函数.



2> Homer6..:

这是nginx,ubuntu,c ++和fastcgi的一个很好的例子.

http://chriswu.me/blog/writing-hello-world-in-fcgi-with-c-plus-plus/

如果你想运行他的代码,我已经将它放入带有指令的git仓库中.您可以查看并自行运行.我只在Ubuntu上测试过它.

https://github.com/homer6/fastcgi

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有