Назад | Перейти на главную страницу

Возможно ли использование нескольких двоичных файлов FCGI на одном экземпляре lighttpd?

Мне кажется, что будет удобнее хранить отдельные функции моего сайта в отдельных двоичных файлах FCGI. Я хочу таких запросов:

http://mysite.com/funcA.fcgi
http://mysite.com/funcB.fcgi?action=go

Для перенаправления в соответствующие файлы:

/var/fcgi/funcA.fcgi
/var/fcgi/funcB.fcgi

Итак, в моем файле lighttpd.conf мне понадобится что-то вроде этого:

fastcgi.server =
( ".fcgi" =>
  (( "bin-path" => "/var/fcgi",
     "socket" => "tmp/fcgi.sock",
     "check-local" => "disable"
  ))
)

Или, может быть, это должно было бы быть более похоже на это:

fastcgi.server = 
( "funcA.fcgi" =>
  (( "bin-path" => "/var/fcgi/funcA.fcgi",
     "socket" => "tmp/fcgi.sock",
     "check-local" => "disable"
  ))
),
( "funcB.fcgi" =>
  (( "bin-path" => "/var/fcgi/funcB.fcgi",
     "socket" => "tmp/fcgi.sock",
     "check-local" => "disable"
  ))
)

Или мне вообще чего-то не хватает? Я могу запустить lighttpd только тогда, когда указывается один двоичный файл.

РЕДАКТИРОВАТЬ: Чтобы убедиться, что я ясно говорю: мне нужно для запроса типа mysite.com/x.fcgi вызывать /var/fcgi/x.fcgi, а также просьба к mysite.com/y.fcgi вызывать /var/fcgi/y.fcgi. Похоже, это должно быть довольно просто, но я не могу получить конфигурацию lighttpd, которая бы это сделала.

Кроме того, я не использую ничего интерпретируемого. Это скомпилированные двоичные файлы C ++ с использованием fcgi_stdio.h заголовок.

Возможно, мне понадобится использовать mod_rewrite?

Поэтому мне кажется, что то, что я хочу сделать, невозможно или, по крайней мере, не предусмотрено FCGI. Когда вы вызываете www.mydomain.com/thing1.fcgi, ты не начало thing1.fcgi; это уже было сделано. Вы отправляете запрос к бесконечно работающему процессу FCGI, который вы пишете, в основе которого почти наверняка лежит бесконечный цикл, ожидающий запросов. Это просто природа FCGI и главное отличие от более ранней CGI.

На этот вопрос нетрудно ответить, если вы поймете, как работает FCGI. Думаю, я просто хотел.

https://redmine.lighttpd.net/projects/1/wiki/docs_modfastcgi Это можно сделать, несколько бинарных файлов в конфиге lighttpd.