【发布时间】:2012-03-25 20:15:43
【问题描述】:
我使用 fastcgi.com 的 API 用 C 语言编写了一个 FCGI 程序。我已经像文档所说的那样打电话给FCGI_Accept。当我运行生成的可执行文件时,它就像 CGI 程序一样运行,然后退出。
我需要用于侦听 UNIX 域套接字的 Web 服务器的 API。我正在使用nginx,它不会自行生成 FCGI 程序和 fastcgi.com 的 API 库。我不想使用其他服务器或库来生成我的 FCGI 程序。
【问题讨论】:
-
fastcgi 程序与任何其他程序一样启动(即通过
main)。您需要配置您的 HTTP 服务器以将其作为 FastCGI 应用程序启动。 -
@BasileStarynkevitch nginx 不会生成 FastCGI 应用程序。
-
这意味着
ngnix可能不支持FastCGI,或者期望FastCGI 应用程序在外部启动(例如,通过您的系统启动脚本,例如/etc/init.d/)。那么启动FastCGI应用程序仍然是系统管理员的问题,问题不属于这里(因为它与编码无关)。 -
实际上这是一个编程问题,因为启动 FCGI 是不可能的。 nginx 是一种代理,FCGI 通常由网络服务器启动。它们无法自行启动。我需要编写一个用于侦听连接的 FastCGI 服务器。
-
网络服务器不需要启动 fcgi 二进制文件。 FWIW,fcgi 程序可能已经在运行,例如通常通过常规发行版初始化机制启动的 php-fpm。