LINUX.ORG.RU

Вышел NGinx версии 0.4.14


0

0

Вышел новый релиз веб-сервера NGinx, разрабатываемый Игорем Сысоевым.

В отличие от широко распространенного Apache, NGinx очень "легкий" и быстрый веб-сервер. Использование расширений (PHP, Perl и т. д.) реализуется через FastCGI интерфейс. NGinx использует C-подобный синтаксис конфигурационных файлов. Поддерживает все современные веб-технологии (HTTPS, SSI, авторизации, контроль referer и т. д.).

Changelog

>>> Качаем



Проверено: Shaman007 ()

Тут кто-то говорил, что NGingx - это диагноз. А чем он плох/хорош собственно и как в целом относительно lighttpd?

Stalwart ★★★
()

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

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

Он использует threads вместо fork'ов для работы.
Потому, в отличие от Апача 1.3 памяти оно жрет в сотни раз меньше. :-)
Отсюда и скорость работы намного более высокая.

Кроме того, NGinx сам по себе маленький. Бинарник, собранный для x86_64 лично у меня занимает 760Кб. :-) Ну и конфиг еще на пару килобайт с описанием 3-х виртуалхостов. :-)

R00T
() автор топика
Ответ на: комментарий от Stalwart

Я lighttpd просто не пробовал никогда.

Но вот что могу точно сказать, compulenta.ru работает на NGinx. Причем, относительно старой версии (0.3.9).

R00T
() автор топика
Ответ на: комментарий от redbaron

Не очень понял. Лично я знаю проект (не компуленту), в котором сервер уверенно держит "полочку" в 100Мбит/с 24 часа в сутки 7 дней в неделю. И ничего, никто не жалуется.

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

А собственно, apache 2.2.3 занимает с конфигами и модулями около
12-и Мб. В чем вопрос-то?
Кого сейчас волнует такой объем?



z2v
()

Офигенная новость. К месту очень, да.

Учитывая то, что дядька Сысоев, бывает, по три версии в сутки выпускает. Давайте уж на каждый патчлевел новость писать.

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

Сам Сысоев на Рамблере работает. И для Рамблера и писал.
Это у него на сайте написано. :-)

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

А вот я чаще вижу 502 Bad gateway :)
Сабж каждую неделю в общем-то выдаётся на гора в виде новой версии. Что вдруг так приспичило про него вспомнить?

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

> А собственно, apache 2.2.3 занимает с конфигами и модулями около

> 12-и Мб. В чем вопрос-то?

Вопрос в том, что apache на каждый реквест форкает ребенка. Вот и умнож 12 мегабайт на 250 (значенме MaxChild по-умолчанию)

dmesg
()
Ответ на: комментарий от neru

Глупый.
В конфиге указываешь количество дочек. Укажи их количество, равное или больше количеству CPU - будет все процы использовать, об этом ядро позаботится.

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

А вот это хорошо, это правильно.

Оно вообще штука очень качественная, хотя код, конечно, ужасный. Слишком "правильный" - иногда кажется, что у автора - рак мозга.

Зато 2500-3000 запросов в секунду в принципе, тянет спокойно.

fearan
()
Ответ на: комментарий от Lumi

>Сабж каждую неделю в общем-то выдаётся на гора в виде новой версии.

Экстремальное программироание в действии :))

php-coder ★★★★★
()
Ответ на: комментарий от R00T

nnm.ru помоему на нем, но могу ошибаться..

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

Хороший сервер, как говорят, я вот тоже хочу опробовать какой нибудь легковесный сервак, тока чем один лучше или хуже другого не знаю, но на nnm.ru стоит (по крайней мерее год назад стоял) именно nginx, а нагрузки у них дай боже, мне бы такие =)

bc
()
Ответ на: комментарий от dmesg

>> А собственно, apache 2.2.3 занимает с конфигами и модулями около

>> 12-и Мб. В чем вопрос-то?

>Вопрос в том, что apache на каждый реквест форкает ребенка. Вот и умнож 12 мегабайт на 250 (значенме MaxChild по-умолчанию)

Глупый, читай про форк и управление памятью.

Те страницы которые не изменяются - не дублируются.

Т.е. из 12 твоих МБ форкнутые процессы скажем 11.5 имеют в одном экземпляре на всех.

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

Наверно его еще можно использовать так же для ембедед штучек, конфигурящихся по Web, SSL вроде есть...

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

1. апач(но не 1.3, конечно) умеет работать и с трэдами, а не только с форками 2. во всех современных системах страницы кода шарятся между процессами, а не копируются, так что 12 умножать на 250 не надо

alex73
()
Ответ на: комментарий от fearan

Я про NGinx знаю. Вышеупомянутый сервер с "полочкой" я настраивал "с нуля". :-)

R00T
() автор топика
Ответ на: комментарий от fearan

>Оно вообще штука очень качественная, хотя код, конечно, ужасный.

Ужасный? А мне напротив советовали на его код посмотреть как на пример.

>Слишком "правильный" - иногда кажется, что у автора - рак мозга.

Просто автор пишет не просто чтобы работало, наверное. За что и респект.

php-coder ★★★★★
()
Ответ на: комментарий от fearan

> Учитывая то, что дядька Сысоев, бывает, по три версии в сутки выпускает.

Это что значит? То что он ещё не стабилизировался? Ян Кнешке так не частит.

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

"страницы кода шарятся между процессами"

Я, может, туплю... Но вообще с трудом такое представляю. Ведь, собственно, у защищенных систем первейшая задача - не допускать "чужие" процессы лезть в память текущего процесса.

R00T
() автор топика
Ответ на: комментарий от ero-sennin

"А что б былО!"

Ну для чего в OpenSource одних только почтовых клиентов невесть сколько?
Чтобы каждый выбрал, что нравится.

R00T
() автор топика
Ответ на: комментарий от dmesg

"И давно mod_php научился работать с тредовым апачем?"

Надо полагать, что как и NGinx оно работает через FastCGI.

R00T
() автор топика
Ответ на: комментарий от fearan

> Оно вообще штука очень качественная, хотя код, конечно, ужасный.

Ужасный? Да чтобы так все проекты писали. Проникнись: "Перед каждым релизом я собираю nginx несколькими компиляторами — gcc, icc, msvc, bcc и openwatcom — чтобы посмотреть, не появилось ли каких-нибудь warning'ов. Кроме того, проверяется сборка на нескольких версиях FreeBSD от 3.0 до 5.3, (в том числе и на amd64), на RedHat 6.2 и Solaris 8 и 9 (только i386). А ещё время от времени я запускаю сборку 8-ю версиями gcc — от 2.7 до 3.4."

Просто снимаю шляпу.

Deleted
()

кто вам сказал что тред много быстрее форка? что порождение треда, что форк -один хрен. все (процессы, треды) работает из общей таблицы.

и имхо lighttpd рулит. просто и со вкусом.

OXIj
()
Ответ на: комментарий от R00T

Попрошу выбирать выражения. То, что вы описываете не является в чистом виде threading моделью. Видимо от большого ума.

neru
()
Ответ на: комментарий от R00T

>Я, может, туплю... Но вообще с трудом такое представляю. Ведь, собственно, у защищенных систем первейшая задача - не допускать "чужие" процессы лезть в память текущего процесса.

Страницы кода и данный разделены, копия данных уникальна для каждого процесса, а код, естественно реентабельный.

Sun-ch
()
Ответ на: комментарий от R00T

> у защищенных систем первейшая задача - не допускать "чужие" процессы лезть в память текущего процесса

А это не чужие процессы - это свои форки ;) На самом деле процессы даже не знают что шарят свой код с другими. Это всё система делает. И она, естественно, везде доступ имеет. И не надо путать "память текущего процесса" AKA данные со страницами кода(которых 12 мег и которых доступны только по read-only)

alex73
()
Ответ на: комментарий от Sun-ch

А, ну для модели "один код - разные данные" код по определению будет всегда реентерабельным. Никаких усилий для этого прилагать не надо.

alex73
()

а мне понравилась описанная кучу раз конфигурация, когда статику отдает nginx, а динамику передает апачу

хотя и не пробовал

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

> кто вам сказал что тред много быстрее форка? что порождение треда, что форк -один хрен. все (процессы, треды) работает из общей таблицы.

нет

> и имхо lighttpd рулит. просто и со вкусом.

да

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

>> кто вам сказал что тред много быстрее форка? что порождение треда, что форк -один хрен. все (процессы, треды) работает из общей таблицы.

>нет

>> и имхо lighttpd рулит. просто и со вкусом.

>да
аргументированно. и не поспоришь же, черт возьми!

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

> Ужасный? А мне напротив советовали на его код посмотреть как на пример. Ога. Оно написано очень идеологически верно. Но совершенно нечитаемо :-)

Хотя, конечно, именно так и надо писать.

fearan
()
Ответ на: комментарий от Deleted

> Ужасный? Да чтобы так все проекты писали.

Ога. Респект.

Особенный респект за то, что к версии 0.4.13 он наконец доэволюционировал до того, чтобы системный pcre цеплять, а не требовать для сборки исходники.

fearan
()
Ответ на: комментарий от R00T

>> Он использует threads вместо fork'ов для работы.

комбинацию мультиплексированного в/в, fsm и тредов (или префорков, не помню)

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

> Я, может, туплю...

Стопудово!

Помедитируй над выводом команды "pmap <pid>", где <pid> - ID любого процесса, особенно над последней строчкой про writable-private, readonly-private и shared.

И почитай, всё-таки, про распределение памяти в линуксе, а заодно узнаешь почему .so компилятся с флагом -fPIC.

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

>Вопрос в том, что apache на каждый реквест форкает ребенка.

KeepAlive?

да и человек вам про 2.2.3 говорил - вы явно отстали от жизни ;)))

>Вот и умнож 12 мегабайт на 250 (значенме MaxChild по-умолчанию)

гоним уважаемый? ;))) Apache/1.3.37

[tolik@tolik ~]$ ps aux|grep httpd|awk '{print $5}'
165760
165760
165760
165760
165760
165760
5784

где вы там 12 мегабайт нашли? 160К не хотите? ;)))

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