FastCGI shell脚本

时间:2011-01-13 20:44:25

标签: shell fastcgi

我想将FastCGI与shell脚本一起使用。 我找到了几个关于在shell中编写CGI脚本的教程,但没有关于FastCGI的内容,我想这不是一回事。

有可能,怎么样?

谢谢

编辑:Ignacio:谢谢,但此链接已有14年,并表示目前不支持 。它仍然不受支持吗?

4 个答案:

答案 0 :(得分:4)

FastCGI的重点是避免为每个传入连接生成一个新进程。根据语言的本质,shell脚本会在执行过程中产生许多进程,除非你想要大大限制自己。 (否catawksedgrep等等)。所以从一开始,如果你要使用shellscript,你也可以使用常规CGI而不是FastCGI。

如果您确定无论如何,第一个重大障碍是您必须在网络服务器提供的侦听套接字上建立accept()个连接。据我所知,没有UNIX工具可以做到这一点。现在,您可以使用其他语言编写一个,并且可以为每个传入连接运行一次shellcript。但这正是普通的CGI所做的,我保证它比你或我写的自定义程序更好。再次,如果你想使用shellscript,请坚持使用普通的CGI。

答案 1 :(得分:2)

“如果您确定无论如何,第一个重大障碍是您必须接受()网络服务器提供的侦听套接字上的连接。据我所知,(...)”有一个C程序几乎这样做:exec_with_piped.c

(它使用管道,而不是套接字,但C代码应该很容易适应您的目的)

看看“在sh中写代理:通过管道进行交谈”

http://okmij.org/ftp/Communications.html

卡劳

答案 2 :(得分:1)

No

  
    

如果这是一个愚蠢的问题我会提前道歉但是是这样     可以想象使用单纯的shell脚本(sh或ksh)作为     FastCGI计划,若然,怎么办?

  
     

您不能将简单的shell脚本用作FastCGI程序。以来   shell脚本不能跨多个HTTP请求持久化,它不可能   用作FastCGI应用程序。为程序处理多个HTTP   请求在其自己的生命周期中(即不只是处理请求和死亡,如   CGI应用程序),它需要一些与Web服务器通信的方法   接收请求,并在处理后将回复发送回服务器   它。这种通信是通过实现的FCGI库完成的   以上,它目前只支持一部分编程语言,   像C,Perl,Tcl,Java ......简而言之,它不支持shell。                       希望能够清理一下。                                   斯坦利。

答案 3 :(得分:0)

来自http://www.fastcgi.com/

  

FastCGI很简单,因为它实际上只有几个扩展名的CGI。

此外:

  

与CGI一样,FastCGI也与语言无关。

因此,您可以将FastCGI与shell脚本或任何其他类型的脚本一起使用,就像CGI一样。

CGI教程对于学习FastCGI也很有用,除了设置Web服务器的特殊性之外。