Запустите родной двоичный CGI на lighttpd - PullRequest
1 голос
/ 05 октября 2010

Я пытаюсь настроить 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 Ответ

0 голосов
/ 04 ноября 2011

Документы: 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

...