Предложите молниеносный, функционально-легкий, безопасный веб-сервер Linux для обслуживания статического контента
Список обязательных требований:
- быть в состоянии обслуживать статические HTML-страницы и файлы (изображения, сжатые архивы, текстовые файлы ASCII и т. д.) по HTTP.
- Ресурс консервативный. Он использует то, что необходимо для отправки данных по сети в виде памяти и процессора, и не намного.
- иметь небольшую площадь установки.
- используйте только столько пропускной способности сети, сколько необходимо.
- быть зрелым
- быть простым в настройке.
- быть скомпилирован в нативный код. Нет Python или Java и т. Д.
Что мне не нужно:
- Сложные варианты конфигурации. Если потребуется позже, я переключусь на Apache httpd.
- Поддержка запуска CGI, Perl, PHP, Java, серверных включений или других "дополнений".
Любые предложения, пожалуйста?
16 ответов
nginx Узнайте больше на вики-сайте nginx.
Жарко, быстро, мало. Несколько% на опросе Netcraft.
Их много, но мне лично нравится чероки. Это относительно новый, но также очень простой в настройке встроенный веб-интерфейс.
Может быть, я получу отрицательный отзыв, потому что это решение не скомпилировано в нативный код в соответствии со списком "должен иметь" вопрос, но для статического содержимого это не намного легче, чем разделение текущего каталога с одним вкладчиком 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
Сервер, который именно то, что вы описали:
- kHTTPd - в ядре, очень простой сервер. Только статические файлы.
Превосходные быстрые серверы, которые также могут обслуживать динамические страницы при необходимости:
- LigHTTPd - сервер, созданный в качестве доказательства концепции для решения проблемы C10K.
- nginx - очень популярный, часто используемый для потоковой передачи или в качестве обратного прокси.
Несколько комментаторов упомянули lighttpd. Другой вариант - thttpd.
Быстрый, безопасный, эффективный, с низким набором функций: открытый файл от Dan Bernstein.
Я бы пошел с чероки здесь. Также я забуду про Apache. Мы все росли, наивно, с использованием Apache, веселья с ним и MySQL. У всех нас прекрасные воспоминания, и мы все знаем, как ими пользоваться.:)
Это, однако, прошлое, тонированное сквозь розовые очки. Использование памяти жирным ослом, сложные процессы, сложные файлы конфигурации, встроенные интерпретаторы. In today's age of VPS's nobody needs fat ass apache anymore. Love the memories, but save your RAM for your apps.
У меня были отличные результаты в течение многих лет с thttpd, часто обслуживая 250+ запросов в секунду (и это было в среднем за час), и целых 400 одновременных запросов. Использование памяти невелико, стабильность чрезвычайно высока, а нагрузка на систему практически равна нулю, даже при высокой нагрузке req/sec.
Билл Кот из округа Блум объясняет, как произносится thttpd.
Я использую mathopd в течение последних 2 лет для предоставления статического контента [смесь изображений на каком-то сайте электронной коммерции + несколько крупных загрузок]. без головной боли - легко настроить, просто работает и оставляет процессор рядом с бездействующим.
Возможно, вы захотите взглянуть на http://www.lighttpd.net/. Не уверен, является ли это излишним для ваших требований.
Вы могли бы попробовать okws.
OKWS - это веб-сервер, специализирующийся на создании быстрых и безопасных веб-сервисов. Он предоставляет веб-разработчикам небольшой набор инструментов, который оказался достаточно мощным для создания сложных систем с ограниченными усилиями. Несмотря на упор на безопасность, OKWS демонстрирует преимущества в производительности по сравнению с популярными конкурентами: при обслуживании полностью динамических, не связанных с диском рабочих нагрузок базы данных пропускная способность и скорость отклика OKWS превышают таковые в Apache, Flash (действующий король производительности веб-сервера) и Haboob (академическая система, считающаяся самым быстрым веб-сервером Java на блоке). Коммерческий опыт работы с OKWS позволяет предположить, что система может снизить затраты на управление оборудованием и системой, обеспечивая при этом гарантии безопасности, отсутствующие в современных системах.
скопировано с okws.org
Чтобы быть более или менее полным, не забывайте о Гайавате. Разработка на этом довольно активна, и у нее есть дружелюбное и полезное сообщество.
Существует коммерческий веб-сервер под названием Zeus, который довольно широко используется в контент-индустрии, характеризующейся объемным статическим контентом. IIRC основан на асинхронности. Ввод / вывод, который очень эффективен на процессоре. Это может делать то, что вы хотите, но это не бесплатно.
Большинство защищенных и легких веб-серверов уже упоминалось (например, publicfile, Nginx, Cherokee и т. Д.). Если ни одно из них не будет соответствовать вашим требованиям, я думаю, что я предлагаю разместить ваши статические файлы (ресурсы) на AWS S3 и CloudFront и сайтах Google для ваших веб-страниц.