Shell FastCGI外壳脚本

Shell FastCGI外壳脚本,shell,fastcgi,Shell,Fastcgi,我想将FastCGI与shell脚本一起使用。 我找到了一些关于在shell中编写CGI脚本的教程,但是没有找到关于FastCGI的教程,我想这不是一回事 有可能吗?怎么可能 多谢各位 编辑:Ignacio:谢谢,但此链接已有14年历史,并表示目前不支持此链接。它仍然不受支持吗? 如果这是一个愚蠢的问题,我会提前道歉,但这是真的吗 可以想象只使用shell脚本(sh或ksh)作为 FastCGI程序,如果是,如何实现 不能将简单的shell脚本用作FastCGI程序。自从 shell脚本不能跨多

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

有可能吗?怎么可能

多谢各位

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

如果这是一个愚蠢的问题,我会提前道歉,但这是真的吗 可以想象只使用shell脚本(sh或ksh)作为 FastCGI程序,如果是,如何实现

不能将简单的shell脚本用作FastCGI程序。自从 shell脚本不能跨多个HTTP请求持久化,它不能 用作FastCGI应用程序。让程序处理多个HTTP 请求在其自身生命周期内(即,不只是处理请求并终止,如 CGI应用程序),它需要一些与web服务器通信的方法 接收请求,并在处理后将回复发送回服务器 信息技术该通信通过FCGI库完成,该库实现 它目前只支持编程语言的一个子集, 像C,Perl,Tcl,Java。。。简而言之,它不支持shell。 希望这能让事情变得明朗一点。 斯坦利

发件人:

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

此外:

与CGI一样,FastCGI也是独立于语言的

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


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

FastCGI的全部目的是避免为每个传入连接生成新的进程。根据语言的本质,shell脚本在执行过程中会产生许多进程,除非您想对自己进行很大的限制。(无
cat
awk
sed
grep
等)。因此,从一开始,如果您要使用shellscript,那么最好使用常规CGI而不是FastCGI


如果你已经决定了,那么第一个大障碍就是你必须在Web服务器提供的监听套接字上接受连接。据我所知,没有UNIX工具可以做到这一点。现在,您可以用其他语言编写一个,它可以为每个传入连接运行一次shell脚本。但这正是普通CGI所做的,我保证它比您或我编写的自定义程序做得更好。因此,如果您想使用shellscript,请再次坚持使用普通CGI。

“如果您已经下定决心,第一个大障碍是您必须在Web服务器提供的侦听套接字上接受()连接。据我所知,(…)”有一个C程序几乎可以这样做:exec_with_piped.C

(它使用的是管道,而不是插座,但C代码应该很容易适应您的需要)

请看“sh中的书写代理:通过管道进行对话”


Kalou

当然,还有你必须永远循环的部分,与web服务器通信,处理信号……那netcat
nc-k-l 0.0.0.0 10000>out.txt呢?那就是netcat打开自己的套接字来监听。如果netcat支持这样的功能,那么该命令看起来更像
nc-k-l/dev/fd/3
,其中文件描述符3由Web服务器传递给脚本。