Предложите молниеносный, функционально-легкий, безопасный веб-сервер Linux для обслуживания статического контента [закрыто]

14

Список обязательных требований:

  • быть в состоянии служить статичным HTML-страницы и файлы (изображения, сжатые архивы, текстовые файлы ASCII и т. д.) по HTTP.
  • быть ресурсным консерватором . Он использует то, что необходимо для отправки данных по сети в виде памяти и процессора, и не намного.
  • иметь небольшой размер установки.
  • используйте только столько пропускной способности сети, сколько необходимо.
  • быть зрелым .
  • быть простым в настройке.
  • быть скомпилирован в нативный код. Нет Python или Java и т. Д.

Что мне не нужно:

  • Сложные варианты конфигурации. Если потребуется позже, я переключусь на Apache httpd.
  • Поддержка запуска CGI, Perl, PHP, Java, серверных включений или других «дополнений».

Любые предложения, пожалуйста?

p.campbell
источник
9
Я бы назвал это «молниеносно, но не обязательно», веб-сервер для Linux. Не уверен, что это имя получит популярность.
Доминик Роджер
Я думаю, что они тоже об этом думали, но они остановились на `nginx '.
Вы всегда можете использовать python: «python -m SimpleHTTPServer», который будет обслуживать текущий каталог на порту 8000.
Gert M

Ответы:

17

Lighttpd приходит на ум.

Согласно документации по Lighttpd , настройка статического сервера занимает около 5 минут:

Анон
источник
Конфигурационные файлы имеют ужасный синтаксис IMHO.
DanMan
8

Их много, но мне лично нравится чероки. Это относительно новый, но также очень простой в настройке встроенный веб-интерфейс.

Oli
источник
это все еще действует?
BigSack
8

Может быть, я получу отрицательный отзыв, потому что это решение не скомпилировано в нативный код в соответствии со списком «должен иметь» вопрос, но для статического содержимого это не намного легче, чем разделение текущего каталога с одним вкладчиком Python:

python -m SimpleHTTPServer 9914

Обратите внимание, что порт 9914 является произвольным, и это просто пример, в котором я нашел это решение: http://linux.byexamples.com/archives/506/python-simple-http-server-for-file-sharing

Естественно, вы также можете сделать это с Perl:

perl -MIO::All -e 'io(":8080")->fork->accept->(sub { $_[0] < io(-x $1 ? "./$1 |" : $1) if /^GET \/(.*) / })'

, , , как описано на http://search.cpan.org/~ingy/IO-All-0.39/lib/IO/All.pod#A_Tiny_Web_Server

Филипп Дурбин
источник
С использованием Python-3$ python -m http.server 8000
webwurst
5

Сервер, который именно то, что вы описали:

  • kHTTPd - в ядре, очень простой сервер. Только статические файлы.

Превосходные быстрые серверы, которые также могут обслуживать динамические страницы при необходимости:

  • LigHTTPd - сервер, созданный в качестве доказательства концепции для решения проблемы C10K.
  • nginx - очень популярный, часто используемый для потоковой передачи или в качестве обратного прокси.
Vartec
источник
4

Несколько комментаторов упомянули lighttpd. Другой вариант - thttpd.

Plutor
источник
1
выглядит хорошо, это то, что использует Wile E Coyote? ;)
Это все еще жив? Последний выпуск был в декабре 03, а архив списков рассылки останавливается в мае 08
JonDrnek
4

Быстрый, безопасный, эффективный, с низким набором функций: открытый файл от Dan Bernstein.

Джон Уэлдон
источник
Мы используем publicfile в нескольких местах, в том числе для простых задач, таких как распределение внутренних файлов конфигурации WPAD. Очень быстро, очень просто, всегда работает.
mikebabcock
3

или kHTTPd - сервер, встроенный в ядро ​​linux?

Брайан Чайлдс
источник
Первое, что пришло мне в голову. Я не использовал его, но видел эту опцию каждый раз, когда настраивал ядро.
Кстати, с веб-сайта: «Начиная с ядра 2.3.14, kHTTPd интегрирован в ядро». Так что это было вокруг блока несколько раз.
5
Однако, начиная с ядра 2.6, оно больше не встроено в ядро.
MarkR
3

Я бы пошел с чероки здесь. Также я забуду про Apache. Мы все росли, наивно, с использованием Apache, веселья с ним и MySQL. У всех нас прекрасные воспоминания, и мы все знаем, как ими пользоваться. :)

Это, однако, прошлое, окрашенное в розовые очки. Использование памяти жирным ослом, сложные процессы, сложные файлы конфигурации, встроенные интерпретаторы. В современном возрасте VPS никому больше не нужен апач с толстой задницей. Любите воспоминания, но сохраняйте оперативную память для своих приложений.

chiggsy
источник
2

Я использую mathopd в течение последних 2 лет для предоставления статического контента [смесь изображений на каком-то сайте электронной коммерции + несколько больших загрузок]. нет головной боли - легко настроить, просто работает и оставляет процессор рядом с бездействием.

PQD
источник
2

В течение многих лет я получал отличные результаты с thttpd , часто обслуживая 250+ запросов в секунду (и это было в среднем за час), и целых 400 одновременных запросов. Использование памяти низкое, стабильность чрезвычайно высока, а нагрузка на систему практически равна нулю даже при высокой нагрузке req / sec.

Билл Кот из округа Блум объясняет, как произносится thttpd .

Алистер Булман
источник
1

Возможно, вы захотите взглянуть на http://www.lighttpd.net/. Не уверен, является ли это излишним для ваших требований.

Алек Смарт
источник
1

Существует коммерческий веб-сервер под названием Zeus, который довольно широко используется в контент-индустрии, характеризующейся объемным статическим контентом. IIRC основан на асинхронности. Ввод / вывод, который очень эффективен на процессоре. Это может делать то, что вы хотите, но это не бесплатно.

ConcernedOfTunbridgeWells
источник
1

Вы могли бы попробовать okws .

OKWS - это веб-сервер, специализирующийся на создании быстрых и безопасных веб-сервисов. Он предоставляет веб-разработчикам небольшой набор инструментов, который оказался достаточно мощным для создания сложных систем с ограниченными усилиями. Несмотря на упор на безопасность, OKWS демонстрирует преимущества в производительности по сравнению с популярными конкурентами: при обслуживании полностью динамических, не связанных с диском рабочих нагрузок базы данных пропускная способность и скорость отклика OKWS превышают таковые в Apache , Flash (действующий король производительности веб-сервера) и Haboob ( академическая система, считающаяся самым быстрым веб-сервером Java на блоке). Коммерческий опыт работы с OKWS показывает, что система может снизить затраты на управление оборудованием и системой, обеспечивая при этом гарантии безопасности, отсутствующие в современных системах.

скопировано с okws.org

Брэд Гилберт
источник
1

Чтобы быть более или менее полным, не забывайте о Гайавате . Разработка на этом довольно активна и имеет дружелюбное и полезное сообщество.

Joschi
источник
0

Большинство защищенных и легких веб-серверов уже упоминалось (например, publicfile, Nginx, Cherokee и т. Д.). Если ни один из них не будет соответствовать вашим требованиям, я думаю, что я предлагаю разместить ваши статические файлы (ресурсы) на AWS S3 и CloudFront и сайтах Google для ваших веб-страниц.

bintut
источник