LINUX.ORG.RU

nginx 1.23.0

 , ,


1

1

nginx - это простой, быстрый и надёжный Web-сервер, написанный на языке Си.

Основные изменения в этой версии:

  • Изменен внутренний API, строки заголовков теперь передаются в форме связанного списка.
  • Строки заголовков с идентичными именами теперь объединяются при передаче в бэкенды FastCGI, SCGI и uwsgi, в методе $r->header_in() модуля ngx_http_perl_module и в переменных $http_..., $sent_http_..., $sent_trailer_..., $upstream_http_... и $upstream_trailer_....
  • Уровень логов для ошибок SSL application data after close notify понижен с crit до info.
  • Исправлена проблема с зависанием соединений в nginx, собранном на Linux-системах с ядром 2.6.17 и новее, но используемом на системах без поддержки EPOLLRDHUP (к примеру, при применении эмуляции epoll).
  • Исправлена проблема с кэшированием ответов, если заголовок Expires запрещал кэширование, а Cache-Control разрешал.
  • Исправлены проблемы, проявляющиеся, если бэкенд выдавал в ответе в несколько заголовков Vary и WWW-Authenticate.

Также одновременно с выходом новой версии nginx, вышла новая версия njs 0.7.5

>>> Подробности

★★★

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

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

Кажется нет, для этого надо перепиливать все с нуля.

caoutchouckcha ()
Последнее исправление: caoutchouckcha (всего исправлений: 2)
Ответ на: комментарий от caoutchouckcha

ссл кеи когда-нибудь придумают как запилить в конфиге через переменные

Нет:

https://nginx.org/en/docs/faq/variables_in_config.html

Q: Is there a proper way to use nginx variables to make sections of the configuration shorter, using them as macros for making parts of configuration work as templates?

A: Variables should not be used as template macros. Variables are evaluated in the run-time during the processing of each request, so they are rather costly compared to plain static configuration. Using variables to store static strings is also a bad idea. Instead, a macro expansion and «include» directives should be used to generate configs more easily and it can be done with the external tools, e.g. sed + make or any other common template mechanism.

Почему бы действительно не взять какой-нибудь генератор конфигов?

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

Так я же сразу и отписал, что никак невозможно. Но очень хочется :)

Почему бы действительно не взять какой-нибудь генератор конфигов?

Так и есть, так и юзаю.

caoutchouckcha ()
Последнее исправление: caoutchouckcha (всего исправлений: 1)
Ответ на: комментарий от caoutchouckcha

не перегруженный возможностями

Какая тогда разница?

Если тебе никакой разницы, тогда зачем ты защищаешь это враньё?

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

как то настраивал и был подавлен миллионном параметров. Хоть кто то разбирается ОТ и ДО в них?

SpaceRanger ()
Ответ на: комментарий от ComradeDOS

Ну покажи, как ты переменную например host засунешь в путь к ключам (никак). Идея то хорошая, но не работает, о чем я и писал изначально.

Ты так дрочишь на инклуд, как будто он что-то магическое делает (не делает, а просто инклудит другой конфиг внезапно).

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

Уф, приходилось прописывать конфиги для Nginx, ох и сколько я же тем создал на ЛОР-е тогда :D

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

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

А апач и правда легаси из 90-х. С кучей ненужных в современных реалиях опций и режимов работы и бывший средством публикации веб-страниц пользователями сервера. Да, можно отключить ему пользовательские функции (они даже в современную структуру шаред-хостинга не вписываются, хотя казалось бы то же самое), можно прикрутить костылями приложение (ну не тормозной cgi же, а больше апач ничего штатно не умеет, php например к нему прикручивается на место фильтра пред-обработки текстов с очевидными последствиями в плане гибкости данной конструкции), можно найти среди легаси-помойки оказывается имеющуюся с некоторых пор возможность использовать event loop (хотя недоделанный) вместо наивных доисторических мультипроцессных/мультитредных релизаций списка соединений, можно ещё много чего сделать чтобы оно стало выглядеть более-менее вменяемо, но зачем этот ворох легаси и костылей, когда есть современный веб-сервер, у которого нужное поведение - дефолт, а прописать надо только правила парсинга и роутинга урлов? Апач используют исключительно из-за нубов, которые читают либо книжки «как сделать веб-сервер», написанные в 90-х, либо статьи в инете с тех же времён, а затем «пишут» свои такие же + куче бесплатных старых cms, в инструкциях по установке которых предлагается апач (впрочем обычно запустить их с nginx-ом проблем нет).

firkax ★★ ()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

А апач и правда легаси из 90-х

Ура, ты выиграл.

На самом деле, твои комментарии можно вполне заменить цепями маркова и не будет никакой разницы. Для этого я тебя и кастовал :)

Ты всегда сливаешься в тредах апач vs nginx, и мне лично больно на твои мантры про легаси и прочее смотреть, хоть апач и не юзаю.

Хочешь оспорить? Кидай бенчмарки, сравним.

caoutchouckcha ()
Последнее исправление: caoutchouckcha (всего исправлений: 1)
Ответ на: комментарий от firkax

ну не тормозной cgi же, а больше апач ничего штатно не умеет

А nginx наверное много чего умеет _штатно_, ага?:)

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

хоть апач и не юзаю.

А ты поюзай, понастраивай (для чего-то кроме локалхоста, где он ещё более-менее вписывается) и всё поймёшь.

штатно

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

firkax ★★ ()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

php например к нему прикручивается на место фильтра пред-обработки текстов с очевидными последствиями в плане гибкости данной конструкции

Чиво? Ты свой любимый php-fpm можешь одинаково юзать как в nginx, так и в апаче.

caoutchouckcha ()
Ответ на: комментарий от firkax

Юзал апач лет 10, сейчас на nginx. Дальше что? Твои фантазии это твои фантазии, какие проблемы есть у апача конструктивные, кроме «ой это легаси, потому что мне он не нравится, а нравится nginx»?

Берешь бенчи, видишь что там все не так очевидно, как ты втираешь, делаешь выводы. Но ты ж фанатик, тебе факты не важны.

caoutchouckcha ()
Ответ на: комментарий от firkax

Чего «остального»? Ты ведь вообще не понимаешь, о чем пишешь.

Ок, допустим тебе апач не нравится. На какой хрен ты ходишь в каждый тред и пишешь «nginx рулит, апач легаси»? А когда тебе задают вопросы - ты ничего не можешь ответить, кроме «нуу, там это значит там php через cgi, он тормозит ваще и там .htaccess».

Я уверен, вот возьму сейчас на дев ноде подниму апач вместо nginx (да, я тоже его использую везде), и ничего там особо не изменится ни по нагрузке, ни по ресурсам. А ты кроме личного мнения и аргументов вида «ну я так решил что апач говно» ничего не можешь привести.

Можно посмотреть твои комментарии в любом другом треде про веб-серверы, где ты это высираешь постоянно, абсолютно без фактов.

Приведи что-то значимое, любые бенчи - можно будет обсудить, и я буду только рад. Остальные думаю тоже, будет полезно.

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

На какой хрен ты ходишь в каждый тред и пишешь «nginx рулит, апач легаси»

В этом треде я это написал потому что ты спросил. Вопрос провокатора перед тобой я видел и собирался не устраивать очередной флейм. А в твоём провокацию не распознал.

А когда тебе задают вопросы - ты ничего не можешь ответить

Я всё могу ответить. А кто-то не может понять. Да, суть сводится к тому что апач - легаси-помойка. Тебе это понятие видимо незнакомо, ничего не могу с этим поделать.

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

Перегруженный не означает медленный. Возможностей в нем - херова гора, действительно больше, чем нужно среднестатистическому серверу, но тем и хорош.

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

действительно больше, чем нужно среднестатистическому серверу

А что нужно среднестатистическому серверу, просто отдать ответ? Тогда можно nc юзать.

caoutchouckcha ()
Ответ на: комментарий от permafrost

Caddy - нет. Он чуть быстрее Апача по тестам, ЕМНИП

Да как вы надоели со своим «ЕМНИП», «где-то слышал» и прочим. Тащите факты, числа, графики.

caoutchouckcha ()

... надёжный сервер, не перегруженный возможностями и написанный на языке Си.

Надёжный был бы написан на Ada.

Mischutka ★★ ()

не перегруженный возможностями

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

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

Да, суть сводится к тому что апач - легаси-помойка.

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

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

Он не умеет :) И это еще он не видел бенчмарки, где nginx сильно соснет у апача (к счастью, это редкие конфигурации, но тем не менее). + учитывая, что он только сейчас узнал nginx 1.23.0 (комментарий) что апач умеет в php-fpm, думаю с ним нечего обсуждать особо.

caoutchouckcha ()
Ответ на: комментарий от thesis

Вообще, похоже, что эта формулировка из Википедии пошла:

Nginx позиционируется производителем как простой, быстрый и надёжный сервер, не перегруженный функциями.

Где сам Сысоев такое говорил, я не нашёл, но не исключаю, что плохо искал.

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

А я с ним ничего и не обсуждаю. Мое дело - не дать васе сбить с толку колеблющихся, прикинувшись разбирающимся.

И это еще он не видел бенчмарки, где nginx сильно соснет у апача

Ты будешь смеяться, но я тоже не видел.

thesis ★★★★★ ()
Последнее исправление: thesis (всего исправлений: 1)
Ответ на: комментарий от thesis

Вообще, оно даже с точки зрения русского языка как-то не совсем хорошо звучит. Перечитал ещё раз, сократил.

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

Ты будешь смеяться, но я тоже не видел.

А вот прямо на его любимом mod_php апач и выиграет при больших нагрузках, но я сразу оговорился:

к счастью, это редкие конфигурации

Свою статистику выложить не могу, т.к. свалил на nginx в итоге (по другим причинам), но в сети видел подобные случаи и я им поверил, т.к. сильно было похоже на мое. Кастани попозже, ну или я не забуду - попробую найти их.

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

Кстати, кто-то на лоре еще кидал ссылки по этому поводу, может даже и @thesis :D Или кто там с фиркаксом спорил вечно, в каком то из прошлых тредов тоже было. Попробую поискать позже.

caoutchouckcha ()
Последнее исправление: caoutchouckcha (всего исправлений: 1)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.