The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск HTTP-сервера nginx 1.7.9

23.12.2014 20:32

Доступен новый выпуск основной ветки высокопроизводительного HTTP-сервера nginx 1.7.9, в котором продолжено развитие новых возможностей. Основные изменения:

  • Поддержка переменных в директивах expires, proxy_cache, fastcgi_cache, scgi_cache и uwsgi_cache;
  • Поддержка загрузки секретных ключей с аппаратных токенов при помощи движков OpenSSL;
  • Новая директива autoindex_format, позволяющая выбрать формат (html, xml, json и jsonp) вывода списка элементов директории;
  • Налажено использование директив proxy_pass, fastcgi_pass, scgi_pass и uwsgi_pass внутри блоков "if" и "limit_except";
  • Решены проблемы со сборкой nginx с использованием BoringSSL (форк OpenSSL от Google).


  1. Главная ссылка к новости (http://mailman.nginx.org/piper...)
  2. OpenNews: Разработчики nginx получили ещё 20 млн. долларов инвестиций
  3. OpenNews: Релиз HTTP-сервера nginx 1.7.8
  4. OpenNews: Обновления nginx 1.6.2 и 1.7.5
  5. OpenNews: Nginx удалён из базовой поставки OpenBSD
  6. OpenNews: Релиз http-сервера nginx 1.6.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/41331-nginx
Ключевые слова: nginx
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (37) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Xasd (ok), 20:54, 23/12/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    раз уж такая тема.. то спрошу:

    nginx умеет ли запускать fastcgi в режиме, когда сокет передаётся через файловый дескриптор (дескриптор под номером 0 или 1), а не через файловую систему?

     
     
  • 2.2, Moomintroll (ok), 21:37, 23/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    nginx вообще не умеет запускать FastCGI. А через сокет файловые дескрипторы не передать...

    А Вы точно про _Fast_CGI спрашиваете?

     
     
  • 3.8, myc (?), 23:06, 23/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > А через сокет файловые дескрипторы не передать...

    man unix ;)

     
  • 3.36, Xasd (ok), 15:13, 01/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > nginx вообще не умеет запускать FastCGI. А через сокет файловые дескрипторы не
    > передать...
    > А Вы точно про _Fast_CGI спрашиваете?

    вот обрати внимание на

    https://github.com/Kozea/flipflop/blob/1.0/flipflop.py#L935

    и на

    https://github.com/Kozea/flipflop/blob/1.0/flipflop.py#L59

    я чуток поясню что "Kozea/flipflop" -- это реализация прослойки: FastCGI-to-WSGI

    например типичное (лёгкое) web-приложение будет иметь стэк:

    { apache_httpd + mod_fcgid } + { flipflop (pypi:flipflop) + bottle (pypi:bottle) + <user_code> }

     
  • 2.5, XoRe (ok), 22:22, 23/12/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > раз уж такая тема.. то спрошу:
    > nginx умеет ли запускать fastcgi в режиме, когда сокет передаётся через файловый
    > дескриптор (дескриптор под номером 0 или 1), а не через файловую
    > систему?

    STDIN, STDOUT чтоле?
    Нет, да и зачем?
    Вы же понимаете, что при работе через "файловый" unix socket дисковая система не используется?

     
     
  • 3.35, Xasd (ok), 15:02, 01/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >> раз уж такая тема.. то спрошу:
    >> nginx умеет ли запускать fastcgi в режиме, когда сокет передаётся через файловый
    >> дескриптор (дескриптор под номером 0 или 1), а не через файловую
    >> систему?
    > STDIN, STDOUT чтоле?
    > Нет, да и зачем?
    > Вы же понимаете, что при работе через "файловый" unix socket дисковая система
    > не используется?

    да, во время unix socket -- дисковая система не используется.

    но файловая система *используется* (без использования дисковой системы).

    это НЕ элегантно. :)

    почему не элегантно(?), пояснение: в момент когда два процесса уже "знают" друг-друга (так как один из них родитель а второй потомок) -- уже нет смысла задействовать файловую систему лишь для того чтобы эти два процесса общались друг с другом. у этих процессов уже и так есть более тесная (родственная) связь!

    в данном случае: более элегантно -- манипулировать файловыми дескрипторами и их номерами (нужные файловые дескрипторы -- наследуются во время fork(). а их номера сохраюятся неизменно у потомков)

    а файловый дескриптор -- может ссылаться не только на PIPE но и на SOCKET. (вполне нормально что внутри STDIN -- будет положен не PIPE а SOCKET :))

    более того! Linux умеет передавать (от одного процесса к другому) через PIPE -- новые файловые дескрипторы! и это опять-таки делается без использования файловой системы... хотя уже этот подход в FastCGI не используется..

     
     
  • 4.38, XoRe (ok), 11:04, 07/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    В CGI все именно так, как вы хотите.
    А FastCGI подразумевает, что к CGI процессу может подключаться не только родитель.
    Поэтому там отдельный сокет, к которому могут подключаться остальные.
    Может вам просто CGI использовать?
    Например, так:
    http://wiki.nginx.org/SimpleCGI
    Или так:
    https://www.howtoforge.com/serving-cgi-scripts-with-nginx-on-debian-squeeze-ub
     

  • 1.3, Аноним (-), 22:00, 23/12/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Если уж мы про autoindex - было бы круто если бы нжинксовцы доперли сделать формат кастомизабельным. С возможностью поставить в HTML версии хидер/футер и задать стили.

    Существует некий гнусный хак который это делает, но там просто жесткач с хаком с закрытием <body> и переоткрытием заново как надо. Что намекает что разработчикам нжинкса не мешало бы достать кое-откуда руки и избавить окружающих от нужды делать ТАК.

     
     
  • 2.4, Аноним (-), 22:11, 23/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Я просто оставлю это здесь:

    http://wiki.nginx.org/NgxFancyIndex

     
     
  • 3.13, Аноним (-), 01:17, 24/12/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > http://wiki.nginx.org/NgxFancyIndex

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

     
     
  • 4.16, angra (ok), 04:31, 24/12/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Большинству это просто не нужно, как и вообще auto_index. Поэтому в базе только самый простой вариант, а навороты отдельно. Такой же здравый подход и во многих других модулях nginx.
     
     
  • 5.31, Аноним (-), 00:56, 25/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Большинству это просто не нужно,

    Если посмотреть неткрафт - большинство вообще опачем довольно :).

    > только самый простой вариант, а навороты отдельно.

    Так полезли же делать более продвинутый. Ну и могли бы дать возможность кастомизить какой-нибудь там CSS'кой, типа того как в лайти сделано.

    > Такой же здравый подход и во многих других модулях nginx.

    Ща, погоди, по запросу энтерпрайзников они впихнут тебе здравого смысла :).

     
  • 4.17, SubGun (ok), 07:56, 24/12/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Все самое интересное они пихают в коммерческую версию.
     
     
  • 5.26, Аноним (-), 00:28, 25/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > btw, это один из трех модулей, которыми я тролю irl дeбилиано/центософаперов. кххх

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

    И да, если что - я обычно пересобираю сетевые сервисы из соображений например защиты от взломов. Ну то-есть 100% прохождение "hardening-check" всем что висит в сеть, etc.

     
  • 2.7, cvsup1 (?), 23:02, 23/12/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Открою страшную тайну - autoindex_format для этого и добавлен.
     
     
  • 3.12, Аноним (-), 01:15, 24/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Открою страшную тайну - autoindex_format для этого и добавлен.

    По нему это не очень заметно. Где, бэть, возможность кастомизации хтмлки без особых наворотов?

     
     
  • 4.19, Будочки (?), 09:09, 24/12/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Где, бэть, возможность кастомизации хтмлки без особых наворотов?

    вам шашечки? а самому бекенд писать влом? вам хедер/футер, Ваньке картинки, Сашку кастомизируй по кукам, а Петьке вообще весь ПХП или еще какую срань засунь для генерации той страницы.

     
     
  • 5.27, Аноним (-), 00:30, 25/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > вам шашечки?

    Ну как бы даже простой как топор лайти позволяет поменять вид страницы парой несложных фокусов. Без хардкорного кодинга целой вебаппы перекидывающийся с "бэкэндом" JSONом и тем более всякого инопланетного булшита с XML и тем паче XSLT.

    > срaнь засунь для генерации той страницы.

    ЧСХ генераторов дирлистинга на пыхе - хоть отбавляй. Они, конечно, работать будут. Но это из базуки по мухам.

     
  • 2.10, Аноним (-), 01:00, 24/12/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    autoindex_format xml + xslt
     
     
  • 3.11, Аноним (-), 01:14, 24/12/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Да в ж...у такое счастье. Это решение для инопланетян.
     
     
  • 4.15, Grisha76 (?), 01:46, 24/12/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Конечно лучше сделать +100500 директив и программировать хтмл на си
     
     
  • 5.21, Andrey Mitrofanov (?), 09:36, 24/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Конечно лучше сделать +100500 директив и программировать хтмл на си

    Нет, xslt им не подходють, php не подходють, радужно-модерновый мальчик саммонят юнит-файлы имени команданте леонсио. Вива ля революсион!

     
  • 5.28, Аноним (-), 00:33, 25/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Конечно лучше сделать +100500 директив и программировать хтмл на си

    Выбирая между XML+XSLT и си - я натурально лучше свой индексер на си накатаю. Или накрайняк нечто перекидывающееся JSом с нжинксом в формате JSON. Но это как-то явно больше возни чем хотелось бы для небольшой кастомизации дириндекса.

     
  • 3.25, тигар (ok), 22:45, 24/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > autoindex_format xml + xslt

    он не умеет так.
    он=аноним

     
     
  • 4.30, Аноним (-), 00:52, 25/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > он не умеет так.
    > он=аноним

    Дык, блин, этот ваш XSLT - для тех кто с другой планеты. Хотя там json еще есть, конечно, но кодить подобие вебаппы под дириндексер - гм, как-то это крутовато.

     
  • 2.20, Andrey Mitrofanov (?), 09:32, 24/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Существует некий гнусный хак который это делает, но там просто жесткач с
    > хаком с закрытием <body> и переоткрытием заново как надо

    Ну, никто ж не обещал, что в PHP будет легкох!

     
     
  • 3.29, Аноним (-), 00:48, 25/12/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Ну, никто ж не обещал, что в PHP будет легкох!

    Так там прикол как раз в том что это сделали без пыха :)

    Пруф: https://news.ycombinator.com/item?id=7317646 (пага даунлоада правда что-то в ауте).

    Смысл такой что оно использует модуль http addition (который чаще всего есть в полных сборках) и далее хакает пагу сперва закрывая <body> а потом начиная новый документ, где может неплохо откастомизить.

     
     
  • 4.34, Andrey Mitrofanov (?), 11:18, 25/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    ##>>>сделать формат кастомизабельным. С возможностью поставить в HTML версии
    ##>>>хидер/футер и задать стили.
    >> Ну, никто ж не обещал, что в PHP будет легкокс!
    > Так там прикол как раз в том что это сделали без пыха
    > :)

    Зевс меня покарал, это понятно. Немощностью выразить свою иронию и непониманием оной частью читателей. Чтоб всем понятно было:

    ХВАТИТ ДЕЛАТЬ ИЗ nginx БЛОАТВАРЕ! ДЛЯ ХОЧУ ЭТУ СТРАНИЧКУ РАЗ-ВОТ-ЭДАК УЖЕ ЕСТЬ НЕ В НЁМ!

    ___Извините, что кричу, нервы наверное. Пойду отварчика хлебну. Помяну юниксвей.

     

  • 1.6, XoRe (ok), 22:26, 23/12/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > -  Налажено использование директив proxy_pass, fastcgi_pass, scgi_pass и  uwsgi_pass внутри
    > блоков "if" и "limit_except";

    Вот это вот непонятно для чего.
    Игорь Сысоев неоднократно тыкал всех в рассылке в "if is evil".
    Данный функционал не дает ничего нового, если учесть, что работает конструкция "proxy_pass $var".

     
     
  • 2.9, PyMonty (?), 23:14, 23/12/2014 [^] [^^] [^^^] [ответить]  
  • +3 +/
    В оригинале сказано, что исправлен баг в этом месте. Про "налажено" - это вольная интерпретация автора новости.
     
  • 2.14, Аноним (-), 01:19, 24/12/2014 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Игорь Сысоев неоднократно тыкал всех в рассылке в "if is evil".

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

     
     
  • 3.37, XoRe (ok), 21:10, 05/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну как, они тепеь коммерческая компания.

    Коммерческая компания, продающая что?
    Правильно, nignx plus с поддержкой.
    А в рамках поддержки клиенту и рассказывают, как оптимизировать конфиг.

     

  • 1.18, Аноним (-), 09:08, 24/12/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Сысоеву уже давно пора сделать конфиг nginx Тьюринг-полным, а то надоели эти встраиваемые луа и перлы.
     
     
  • 2.22, myc (?), 09:45, 24/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    В версии 2, Сысоев обещал javascript из коробки.
     
     
  • 3.23, Аноним (-), 18:05, 24/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Пропал калабуховский дом :(
     

  • 1.32, Аноним (-), 02:50, 25/12/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а оно напрямую с SQL БД как-нить может ?
    как Апач в свое время через апи мог. или у полосатых через ISAPI мог.
    повторюсь "без костылей", НАПРЯМУЮ.
     
     
  • 2.33, Андрей (??), 06:37, 25/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > а оно напрямую с SQL БД как-нить может ?
    > как Апач в свое время через апи мог. или у полосатых через
    > ISAPI мог.
    > повторюсь "без костылей", НАПРЯМУЮ.

    http://openresty.org/

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру