本文介绍了C语言的FastCGI与Nginx的的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试图运行用Nginx的网络服务器后面C语言的FastCGI应用程序。 Web浏览器永远不会完成加载和响应永远不会完成。我不知道如何处理它和调试。任何有识之士将AP preciated。
Hello World应用程序从fastcgi.com抽取并简化看起来是这样的:
的#includefcgi_stdio.h
#包括LT&;&stdlib.h中GT;INT主要(无效)
{ 而(FCGI_Accept将> = 0)
{
的printf(内容类型:text / html的\\ r \\ n状态:200 OK \\ r \\ n \\ r \\ n); } 返回0;
}
输出的可执行文件与任何一个执行:
or
Nginx configuration is:
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;
}
}
解决方案
You need to call FCGI_Accept
in the while
loop:
while(FCGI_Accept() >= 0)
You have FCGI_Accept >= 0
in your code. I think that results in the address of the FCGI_Accept
function being compared to 0
. Since the function exists, the comparison is never false, but the function is not being invoked.
这篇关于C语言的FastCGI与Nginx的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!