在lighttpd上运行本机二进制CGI

时间:2010-10-05 10:46:31

标签: binary cgi lighttpd

我正在尝试设置lighttpd来运行二进制CGI应用程序(不是PHP脚本或smth,而是从C ++源代码编译的二进制文件)。我实际上已经

server.modules = (
...
"mod_cgi"
...
)

取消注释,myApp.exe中有htdocs/app,还有

cgi.assign = ( "myApp.exe" => "myApp.exe" )

然后,要通过访问http://localhost:8080/app/myApp.exe?p=a&...来使所有内容工作,我必须在lighttpd根文件夹(服务器的exe所在的位置)中放置一个空的myApp.exe。它实际上很奇怪而且很糟糕,而且并非所有CGI都能以这种方式工作。将这些操作应用到另一个CGI应用程序(在适当调整的Apache上完美运行)没有成功。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

文档:http://redmine.lighttpd.net/wiki/1/Docs:ModCGI
我用tcl脚本作为cgi进行了测试,这是我的工作配置:

cgi.assign =  ( "" => "/usr/bin/tclsh" )
index-file.names = ("lighttd_test.tcl")

cgi.assign允许您指定要由特定应用程序处理的文件扩展名。此示例表示:将通过/usr/bin/tclsh打开任何文件类型。由于我的索引文件是一个tcl脚本,因此我获得了通过脚本的STDOUT输入的内容 如果你想运行二进制可执行文件,这是指定它的地方 也许此链接为您提供了有关二进制cgi的更多信息:http://redmine.lighttpd.net/issues/1256