- 论坛徽章:
- 0
|
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!
|