我正在尝试设置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上完美运行)没有成功。
我做错了什么?
答案 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