免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3247 | 回复: 3
打印 上一主题 下一主题

[Web] apache上运行fastcgi的报错 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-02-19 14:18 |只看该作者 |倒序浏览
10可用积分
想在apache上跑c写的fcgi。
apache版本2.2.6
下载了fastcgi的apache模块,手动dso安装,顺利
# tar zxf mod_fastcgi-2.4.6.tar.gz
# cd od_fastcgi-2.4.6
# apxs -o mod_fastcgi.so -c *.c
# apxs -i -a -n fastcgi .libs/mod_fastcgi.so

模块添加到相应的目录下,httpd.conf也有相对的Load命令
AddHandler fastcgi-script .fcg .fcgi
<Directory "/app/www/cgi-bin/">
      Order allow,deny
      Allow from all
      Options ExecCGI
</Directory>

a.c
#include <stdio.h>
int main()
{
    printf("Content-type: text/html; charset=utf-8\n\n");
    printf("nihao");
}


# gcc a.c
# mv a.out /app/www/cgi-bin/a.fcgi

PS:如果是a.cgi就没有问题,fcgi就无法执行,500错误:

[Tue Feb 19 12:01:07 2008] [warn] FastCGI: (dynamic) server "/app/www/cgi-bin/a.fcgi" has failed to remain running for 30 seconds given 3 attempts, its restart interval has been backed off to 600 seconds

上面错误google很多,fastcgi网站邮件列表上有类似的错误,感觉没有解决掉,而没有类似中文的网页有类似的错误,换了apaache版本和freebsd,都一样。不知道哪位大大有过类似的经历。

最佳答案

查看完整内容

你的 FCGI 的写法不正确.用 C 写, 你必须引用 fastcgi 中库的一些函数.包含头文件: #include "fcgi_stdio.h"循环用 FCGI_Accept() 接爱新连接.Good Luck!

论坛徽章:
0
2 [报告]
发表于 2008-02-19 14:18 |只看该作者
你的 FCGI 的写法不正确.
用 C 写, 你必须引用 fastcgi 中库的一些函数.
包含头文件: #include "fcgi_stdio.h"
循环用 FCGI_Accept() 接爱新连接.


  1. #include "fcgi_stdio.h"
  2. int main()
  3. {
  4.     while(FCGI_Accept()  >= 0) {
  5.        printf("Content-type: text/html; charset=utf-8\n\n");
  6.        printf("Hello world.\n");
  7.     }
  8.     printf("nihao");
  9. }
复制代码


Good Luck!

论坛徽章:
0
3 [报告]
发表于 2008-02-19 17:20 |只看该作者
好的 。我按照你的修改了代码并且编译
# gcc a.c -lfcgi
# mv a.out a.fcgi
谢谢了,已经搞定了。看来是代码的问题。不过还有那个报错,不过不影响程序的执行。
我的相关apache配置是

<IfModule mod_fastcgi.c>
    Alias /fcgi-bin/ /var/www/fcgi-bin/
    ScriptAlias /wws /var/www/fcgi-bin/b.fcgi
    <Directory /var/www/fcgi-bin/>
                AllowOverride None
                Options +ExecCGI -Includes
                AddHandler fastcgi-script .fcg .fcgi
                Order allow,deny
                Allow from all
    </Directory>

</IfModule>

[ 本帖最后由 mageguoshi 于 2008-2-19 18:14 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2008-02-26 12:51 |只看该作者
恭喜
呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP