Выполнить bash-скрипт из lighttpd
А ещё можешь глянуть как это сделано в OpenWRT. Там на lua подобное написано, может подойдёт.
оттуда, да и из openwrt, придётся очень долго всё выпиливать, а у меня всего 5-7 параметров. не хочется городить что-то большое
посмотрю что такое cgi, спасибо
http://luci.subsignal.org/
Ну если тебе не надо будет потом добавлять фичи и прочее, то может быть и одного своего скрипта хватит. А иначе делать авторизацию (если она через скрипт, а не http парсить параметры и всё это на bash-е — наверное не самое приятное занятие. Хотя может в инете уже что-то наверняка наваяли на эту тему.
Да вот вроде не особо выпиливать-то надо: Ну если тебе не надо будет потом добавлять фичи и прочее, то может быть и одного своего скрипта хватит. А иначе делать авторизацию (если она через скрипт, а не http парсить параметры и всё это на bash-е — наверное не самое приятное занятие. Хотя может в инете уже что-то наверняка наваяли на эту тему.
http://bashlib.sourceforge.net/ для тех кто не силён в нерегулярных выражениях
cgi на bash пишутся элементарно, плюс гуглятся готовые маленькие библиотеки типа я пробовал расковырять прошивку, которую для asus-ов пишут+1 за luci
не надо её ниоткуда выковыривать, она есть отдельная
собственно грин уже всё написал
писать сги на баше это какой-то изврат (можно, но изврат )
ну а про то что можно просто cgi на баше сделать тут уже написали.
Посоветуйте, плз, как принято писать подобное.Такое не надо хотеть.
Лайти — однопоточный веб-сервер, и не надо хотеть его заставлять выполнять что-то.
Советуют использовать php, но на машине очень мало места и оперативной памяти, и лишнего ставить не хочется.Напиши на си простенький fastcgi-сервер, который будет кушать мало памяти и выполнять твой скрипт.
Использовать на фронтенде лучше nginx, он из коробки умеет делать авторизацию http, которой тебе вполне может хватить.
а еще проще взять готовенький или хорошую либу
CGI?Алё, вы что соетуете человеку?
А ещё можешь глянуть как это сделано в OpenWRT. Там на lua подобное написано, может подойдёт.
Он из своего лайти запустит скрипт, который зависнет и прощай веб-сервер, который уже не ответит никогда. Я уже молчу о том, что во время работы скрипта просто сервер будет висеть и не отвечать.
Самое правильное решение: nginx/basic-auth/fastcgi-приложение. Последнее можно писать на чём угодно, я бы советовал на Си простенькую прогу.
Самое правильное решение: nginxТ.е. ынжыныкс менее однопоточный, чем лайти? Мне казалось, что оно всё же не так тупо CGI/FastCGI обрабатывает, как ты описал.
и давно интересно?
ты лайти когда-нибудь вообще запускал, или просто на картинках видел?
ты лайти когда-нибудь вообще запускал, или просто на картинках видел?он его даже на картинках не видел.
но вообще, доля истины в том, чтобы не копаться в говне все же есть.
например, я в разных юниксах сталкивался с ситуацией, когда разбить приложение на процессы давало больший с точки зрения сетевой производительности результат, чем при использовании потоков. возможно, это указывает на то, что в ядрах существуют пер-процесс ограничения по использованию сети. понятно, что это все наверное настраивается (хотя тоже не факт но я не разбирался и топикстартер наверное не станет, если что. то есть, fastcgi более надежный метод, т.к. его идеология проще / старше и более проверена временем.
впрочем, это все уже далеко от темы, я всего лишь о том, что доля истины в том, чтобы делать как знаешь и не гнаться за авангардными технологиями тоже есть, даже если эти авангардные технологии выглядят неплохо.
но вообще, доля истины в том, чтобы не копаться в говне все же есть.Причём тут лайти и фастцги?
например, я в разных юниксах сталкивался с ситуацией, когда разбить приложение на процессы давало больший с точки зрения сетевой производительности результат, чем при использовании потоков
ну фастцги позволяет не блокироваться в 1-поточном случае, а с лайти предлагали вариант треда для обработки скриптега. дает ли это уже само по себе доп нагрузку на сеть, я не знаю, надо смотреть, как в лайти сделано, но если скриптег делает подзапросы, то с описанной мной странностью всех юниксов точно можно столкнуться при большой нагрузке. я всего лишь привел пример того, как менее олдовый подход может сфейлить. так-то скорей всего оба способа будут работать, особенно если нагрузка никакая.
ну фастцги позволяет не блокироваться в 1-поточном случае, а с лайти предлагали вариант треда для обработки скриптега.Лайти не делает для этого треды. Для вызова скриптега блокироваться не обязательно, так же как оно же делает и для обработки сети и для обработки того же fastcgi. Разницы никакой нет. И вообще мне кажется, что CGI "нативного" там нет и оно делается через spawn-fcgi всё равно. В любом случае разницы особой не должно быть.
Лайти не делает для этого треды. Для вызова скриптега блокироваться не обязательно, так же как оно же делает и для обработки сети и для обработки того же fastcgi. Разницы никакой нет. И вообще мне кажется, что CGI "нативного" там нет и оно делается через spawn-fcgi всё равно. В любом случае разницы особой не должно быть.а, ну если так, то ок, да.
просто про треды чето сказал и я помню,
что у них была девел-ветка с
хотя насчет нативного цги я даже не уверен. но треды точно там были.
хрен с ним короче, я его не читал все равно, если там все через спавнер делается,
то пианист одобрит, что уменьшит счетчик несогласных до нуля и снимет мутекс холивара.
что у них была девел-ветка с блек-джеком и шлюхами нативным цги и тредами.Интересно для какой цели треды там были?
хотя насчет нативного цги я даже не уверен. но треды точно там были.
хрен с ним короче, я его не читал все равно, если там все через спавнер делается,Говорю же, что пофигу через фастцги-спавнер или через простой цги. Серверу в принципе пофигу должно быть — из пайпа селектить или из сокета.
Говорю же, что пофигу через фастцги-спавнер или через простой цги.а. так пианист не знает, че такое цги просто. это нормально.
Серверу в принципе пофигу должно быть — из пайпа селектить или из сокета.
он имел в виду, когда тебе отвечал, будто бы ты предлагаешь встроить скриптег.
а что вы понимаете под нативным CGI?
Оставить комментарий
yulya
Посоветуйте, плз, как принято писать подобное.Есть устройство, на нём debian. Надо сделать утилиту для конфигурации через web-интерфейс, как на роутерах. Т.е. должны быть поля ввода и несколько конопок. При нажатии на кнопки запускается bash-скрипт, в качестве его параметров используется информация из полей. Советуют использовать php, но на машине очень мало места и оперативной памяти, и лишнего ставить не хочется.
Должна быть авторизация. Её планирую сделать средствами lighttpd (нормально?)