Pull to refresh

Comments 50

Вебсервер хорош, но автор не сильно стремится сделать его известным широкой публике, последний релиз 2008 года это подтверждает. На li.ru (где работает Максим Зотов) 0W версии 0.8e, т.е. бета, которая также уже 2 года не обновлялась.
Возможно то, что сделано с момента его создания полностью устраивает текущие потребности. Тем более, что развитие функционала вширь способно утяжелить вебсервер, а это расходится с его концепцией — компактный и быстрый.
вполне возможно, я как-то пытался уточнить один вопрос у Максима, но он дал понять, что те, кто использует 0W, не очень сильно его интересуют.
Да. Максим не любит отвлекаться от работы :)
Тем не менее, данный вебсервер используют. Я находил его порты под FreeBSD. А недавно Гугл дал ссылку на LinkedIn-анкету, хозяин которой в списке навыков упоминает умение работать с 0w-httpd
Есть преимущества перед известным и поддерживаемым nginxом?
Не знаю. Я стал пользоваться данным вебсервером когда Nginx'а еще не было. Мои задачи он решает. Запас по нагрузке приличный. Святое правило — «работает, не трожь».
В инете встречал тесты 2005 года, где они примерно одинаковы по скорости, где-то опережает Nginx, где-то 0W-httpd.
Данный пост — не ради холивара, а поделиться полезной информацией.
при общих равных, стоит выбирать nginx. он все-таки развивается
Нужно выбирать то, что оптимально удовлетворяет ваши потребности. Для удовлетворения моих потребностей 0W-httpd хватает более чем.
Чтобы nginx собрался на том-же сервере, где я сегодня утром собирал ZeroWait, пришлось отключить пару опций (привязка к дополнительным библиотекам):
./configure --without-http_rewrite_module --without-http-cache
Полученный на выходе бинарник — 2 430 529 байт.
0W-httpd — 149 464 байт — компактнее более чем на порядок.
Подозреваю, что при тестировании только на отдаче статики сейчас результат будет уже на такой равный. Логично предположить, что больший код означает бОльшее число выполняемых операций для отдельного запроса.
Опять-же повторюсь — не собираюсь холиварить. 0W-httpd полностью меня устраивает. Как по минимальным системным требованиям, так и по простоте установки-настройки. Ну не нужен мне, чтобы забить гвоздь, молоток с кучей шестеренок в придачу :)
Совершенно согласен! что нужно использовать то, что удовлетворяет потребностям. Но я считаю, что с «мертвыми» проектами в будущем можно получить много проблем.

Насчет размера кода и оптимальности выполнения тех или иных операций — не согласен :) например, не всегда «компактный» и «простой» код работает быстрее «длинного» и «умного».
Как говорил Марк Твен — «Слухи о моей смерти несколько преувеличены».
Основная идея 0W-httpd (на мой взгляд):
— использование эффективных механизмов Linux (epoll, realtime signals, sendfile) и FreeBSD (kqueue, sendfile)
Хотя она и помещена в списке «преимуществ и возможностей» на последнее место. Появятся новые, более эффективные механизмы, уверен, использование их будет добавлено.
А насчет сравнения «компактного и простого» и «длинного и умного» — спорить можем до бесконечности. В конкретно данном случае спор можно решить только сравнительным тестированием. Вся беда в том, что можно подобрать тесты, когда проявятся преимущества одной системы и недостатки другой. Тупик :)
насчет цитаты — не понял :/

Так как задача у тебя вполне конкретная и не писалась под 0W-httpd, то думаю, такой сравнительный тест будет инетересен многим :)
я ж надеюсь они уже закрыли дыру с неправильным конфигом, когда загрузив картинку можно было выполнить её как php.
Можете уточнить, где такое было? 0W-httpd никак с php не работает. Очевидно это была дыра в бэкэнде.
Святое правило — «работает, не трожь». — Так Вы далеко не уедете.
Святое правило — «работает, забекапь, колупай».
Интересно, почему автор так глубоко наплевал на fhs?
Автор ни на кого не плевал :)
Это пагубное влияние qmail :)
> В обоих случаях возможности вебсервера расширены с помощью встроенных самодельных модулей. Если к данной теме будет интерес — опишу данный процесс.
Опишите пожалуйста интересно.
Следующим постом. Постараюсь не затягивать.
Единственное в нём расстроило — он не умеет gzip.
0W-httpd развивался по принципу необходимой достаточности. Добавлялись только те функции, которые были необходимы в работе самому автору и коллегам.
Код открытый. При желании никто не мешает развивать его в своем направлении.
Здесь можно закапывать.
при острой необходимости данный функционал можно дописать за пару часов/дней
исходники довольно-таки понятны

сам сервер не использовал, но слышал о нем еще год назад
и делал некоторые эксперименты при установки

в целом по производительности и расширяемости меня устраивает nginx
если нужно что-то экстро-ординарное, то напишем свое (amqp-rest, click-server)

в целом, автору спасибо за обзор новых горизонтов
>комментарии в koi8r
Шёл 2010 год…
Дайте угадаю, оно для FreeBSD?
На FreeBSD данный вебсервер тоже работает, можно найти готовые порты в инете.
А почему до сих пор koi8r — возможно сила привычки.
Посмотрел, в тарболе есть нормальные INSTALL, Changes, httpd.conf на английском языке, логирование тоже как у всех.

При этом в исходниках захардкодено 3 русскоязычные кодировки (зачем не вникал), непонятная лицензия и какой-то велосипед заместо инсталятора.

Из всего могу сделать вывод, что продукт вполне достойный и production-ready, но автора устраевает всё как есть, слава Сысоева песен ему не поет, международного признания не ищет.
Максим Зотов знаком с Сысоевым. На одной конференции наблюдал из беседу по каким-то системным тонкостям работы вебсервера. Слава Сысоева точно не задевает Максима никаким боком. Он занимается своими задачами, для которых вебсервер — прикладной инструмент. Думаю, славы разработчика крупнейшего рейтинга рунета ему более, чем достаточно, как и вытекающих из этого хлопот и отдельно заниматься продвижением вебсервера у него просто физически нет времени.
продвижением вебсервера у него просто физически нет времени.
верю
Уже сильно позже увидел, что оно с 2008 года не обновлялось. Это сняло все вопросы.
А еще есть Small HTTP Server. Бесплатный для жителей СНГ, http, ftp, smtp, pop, proxy и какой-то еще сервер, который весит 100кб. Я его у знакомого на VPS с 16мб оперативки ставил.
Да. Сорри.
Но всеравно — скомпилированное готовое решение. Всетаки, на мой взгляд, корректнее было бы сравнивать с открытым решением, например Ngnix.
Я же использую 0Whttpd не просто как быстрый фронтенд, а со своими модулями, которые и выполняют необходимую работу.
Ну а как вариант быстрого фронтенда, на мой взгляд, данный вебсервер удобен, кроме технических характеристик, именно простотой установки и настройки.
Легким движением руки пакетный дистрибутив превращается в Слакварь ©
2010-й год на дворе — хоть бы пакет собрали
Разработчик данного вебсервера не занимается его активным продвижением.
Фактически это вещь из разряда «делал для себя», которой человек решил поделиться с окружающими.
Теперь его критикуют, что он неправильно делится. Приятно кушать с блюдечка с голубой каемочкой, но неужели это главное? Или поставим вопрос по другому — не оформил «как положено», так это никому не нужно?
>Разработчик данного вебсервера не занимается его активным продвижением.
А сей пост тогда о чём?
Об одной хорошей программе, которой можно пользоваться, но о которой мало кто знает.
Во-первых, это необходимо для создания директорий (если пользоваться стандартными настройками, то рядовой пользователь вряд ли сможет создать поддиректорию в /var
Во-вторых, извиняюсь, если несу чушь, но давным-давно слышал, что 80й порт можно захватить только под рутом. Пока писал, уточнил — правда, до 1024 порта захватывать может только рут. Вроде можно (опять же от рута) разрешить отдельному пользователю захватывать отдельный порт, но насколько это правда — я не настолько силен в системе.
По поводу портов вы совершенно правы, а вот по поводу сборки, на мой взгляд, не совсем — более корректным было бы сделать папку /var/0W и выставить ей права на запись для рядового пользователя, из-под которого потом производить сборку. Согласитесь, было бы неприятно, если бы случайно оказались повреждены какие-нибудь файлы в /etc/ или ещё где-нибудь? Я не имею в виду конкретно 0W-httpd, а сборку вообще. Лучше её проводить пользователем с урезанными правами. Скачанные не из репозитория дистрибутива исходники не обязательно безопасны и безвредны, даже если они открыты. Ну и с помощью команды setcap можно разрешить захватывать порты меньше 1024 программам, запущенным с правами обычных пользователей.
Тогда действительно можно выполнить сборку из под рядового пользователя. Главное — разрешить ему захватывать 80й порт. А собственно рабочую директорию для установки можно указать и в своей домашней директории. Получаем в итоге:
./configure --owner=myowner --group=mygroup --prefix=/home/mydir
Кому нужно, могу предложить srpm :)
host129.rax.ru/ports/0W-httpd-0.8d-1.src.rpm ну вот пакетик.

для чистки логов там ничего нет, можно сделать что-то вроде:

find /usr/local/0W/logs -mtime +7 -exec dirname {} \; | uniq | xargs rm -rf && kill -HUP `cat /usr/local/0W/data/pids/httpd`

по крону.
Использовал 0W, неплохой сервер. Очень прост в конфигурации. Однако, пришлось отказаться от него в пользу nginx из-за gzip.
Кстати, лет этак пять назад, может даже больше, гулял по сети удаленный эксплоит для 0W. По слухам, с его помощью порутали li.ru, bk.ru и еще несколько интересных ресурсов.
bk.ru с рождения жил под Апачем. Правда было это не 5 лет назад, а много раньше. 5 лет назад bk.ru как такового уже и не было в природе — контентная часть превратилась в anekdot.mail.ru, а сам домен добавился в список для заведения на Mail.ru своего почтового ящика.
Тьфу, я имел в виду combats.ru. По-русски его все называют «БК», вот я и написал транслитом на автомате.
Only those users with full accounts are able to leave comments. Log in, please.