LINUX.ORG.RU
решено ФорумAdmin

Самый простейший и легковесный http-сервер?

 , ,


7

2

Какой простейший и самый легковесный HTTP сервер вы можете посоветовать? Чтобы никаких лишних примочек, никакой поддержки интерпретаторов. Чтобы умел только показывать файлы и содержимое директории и занимал минимум памяти. Хочется воткнуть такой на Raspberry Pi.

★★★★★

Последнее исправление: Rinaldus (всего исправлений: 1)

Сам напиши.

anonymous
()
Ответ на: комментарий от Dred

Даже без нагрузки требует в 4 раза больше памяти чем nginx.

surefire ★★★
()
Ответ на: комментарий от coyotl

В чём преимущество старенького apache перед новеньким nginx?

surefire ★★★
()
wget https://gist.githubusercontent.com/sumpygump/9908417/raw/5fa991fda103d0b7a0c38512394a83ccada9ad6c/nweb23.c
gcc -O -DLINUX nweb23.c -o nweb
./nweb 8080 /home/user/
Lavos ★★★★★
()
Последнее исправление: Lavos (всего исправлений: 1)

raspberry вполне себе и полновесный апач потянет

Harald ★★★★★
()

lighttpd всегда ставлю. Даже на 256 метрах WD MBL хорошо себя вел.

Radjah ★★★★★
()
package main

import "net/http"

func main() {
	http.Handle("/", http.FileServer(http.Dir("/var/www/")))
	http.ListenAndServe(":80", nil)
}
Deleted
()
Ответ на: комментарий от r3lgar

Спасибо! Думаю, ничего легковеснее просто не бывает. Разве что кто-нибудь сподобится написать его на ассемблере.
На всякий случай, вот его запускалка для systemd. Вдруг кому понадобится.

[Unit]
Description=Lightweight Web server

[Service]
Type=simple
Nice=-1
ExecStart=/usr/bin/quark
Restart = on-abort

[Install]
WantedBy=multi-user.target

Rinaldus ★★★★★
() автор топика
Ответ на: комментарий от pkurg

1. Это не легковесный сервер.

2. Он не для продакшена даже, если ваш сайт это одна страничка посвящённая вашему котику.

3. На 80 порт повесите от рута что ли?

lexazloy
()

https://gist.github.com/alexey-sveshnikov/3a109b61ce6241770a86

:;while [ $? -eq 0 ];do nc -vlp 8080 -c'(r=read;e=echo;$r a b c;z=$r;while [ ${#z} -gt 2 ];do $r z;done;f=`$e $b|sed 's/[^a-z0-9_.-]//gi'`;h=«HTTP/1.0»;o=«$h 200 OK\r\n»;c=«Content»;if [ -z «$f» ];then ($e $o;(for n in *;do if [ -f «$n» ]; then $e «<a href=\»/$n\«>`ls -gh \»$n\«`</a><br>»;fi;done););elif [ -f «$f» ];then $e «$o$c-Type: `file -ib \»$f\«`\n$c-Length: `stat -c%s \»$f\«`»;$e;$e $f>&2;cat «$f»;else $e -e «$h 404 Not Found\n\n404\n»;fi)';done

kraftello ★★★★★
()
Ответ на: комментарий от anonymous

А почему бы и нет? У меня на Raspberry Pi арч, у него встроенный systemd, почему я не могу использовать его встроенные функции для запуска? Не bash скриптом же его запускать вручную.

Rinaldus ★★★★★
() автор топика
Ответ на: комментарий от Twissel

чем не light

Он очень даже лёгкий. На всяких мелких впс за пару баксов в год с 64-128 памяти lighttpd вполне неплохо себя чувствует.

NightOperator ★★★
()
Ответ на: комментарий от Rinaldus

Думаю, ничего легковеснее просто не бывает

Это представление обманчиво. Этот quark не асинхронный и форкается на каждый коннект, в отличии от например nginx. Таким образом при некотором количестве параллельно открытых подключений будет потреблять больше ресурсов.

surefire ★★★
()
Ответ на: комментарий от Lavos

И где у вас это попробованное работает? А, да, нигде. Потому что это бестолковая ерунда.

lexazloy
()

Был же в ядре раньше (Tux,khttpd), выпилили уже чтоли :)

arson ★★★★★
()

Могу посоветовать thttpd, один из лучших серверов что я пользовал. Умеет много, очень шустрый, быстро работает на первом пеньке и не жалуется...

timdorohin ★★★★
()
Ответ на: комментарий от Dron

Зачем предлагать такое just for fun?

В нем дырки есть, я его однажды уже переписывал - добавлял сброс привилегий после получения порта. А потом нашел thttpd и больше не парился.

timdorohin ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.