Запустите родной двоичный CGI на lighttpd
Я пытаюсь настроить lighttpd для запуска бинарного CGI-приложения (не PHP-скрипт или что-то в этом роде, а бинарный файл, скомпилированный из исходного кода C++). У меня на самом деле есть
server.modules = (
...
"mod_cgi"
...
)
без комментариев, есть myApp.exe
в htdocs/app
, а также
cgi.assign = ( "myApp.exe" => "myApp.exe" )
Затем, чтобы заставить все это работать, например, http://localhost:8080/app/myApp.exe?p=a&...
Пришлось пустую myApp.exe
в корневой папке lighttpd (где находится exe сервера). Это на самом деле странно и отстойно, и также не все CGI могут работать таким образом. Применение этих действий к другому приложению CGI (которое отлично работает на правильно настроенном Apache) не принесло успеха.
Что я делаю неправильно?
1 ответ
Документы: 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
, Поскольку мой index-файл представляет собой tcl-скрипт, я получаю содержимое, которое я помещаю через STDOUT скрипта.
Если вы хотите запустить двоичный исполняемый файл, это место для его указания.
Может быть, эта ссылка предоставляет дополнительную информацию о двоичном CGI для вас: http://redmine.lighttpd.net/issues/1256