Представлен (http://mailman.nginx.org/pipermail/nginx-ru-announce/2016/00...) выпуск основной ветки высокопроизводительного HTTP- и прокси-сервера nginx 1.11.2 (http://nginx.org).
Основные изменения (http://nginx.org/ru/CHANGES):- В модуле stream (http://nginx.org/en/docs/stream/ngx_stream_core_module.html) добавлена возможность использования переменных;- Добавлен модуль ngx_stream_map_module (http://nginx.org/ru/docs/stream/ngx_stream_map_module.html), позволяющий создавать переменные, значения которых зависят от значений других переменных;- Добавлен модуль ngx_stream_return_module (http://nginx.org/ru/docs/stream/ngx_stream_return_module.html), который даёт возможность отправить заданное значение клиенту и после этого закрыть соединение;
- Упразднены параметры сборки "--with-md5" и "--with-sha1". Внутренние реализации MD5 и SHA1 теперь используются всегда;- В директивах proxy_bind, fastcgi_bind, memcached_bind, scgi_bind и uwsgi_bind теперь можно указывать номер сетевого порта.
- При поддержке в системе опции сокета IP_BIND_ADDRESS_NO_PORT, она теперь применяется по умолчанию;
- Исправлена ошибка в рабочем процессе, приводящая к краху при использовании HTTP/2 и директивы proxy_request_buffering;- Исправлена ошибка, из-за которой при использовании HTTP/2 к запросам, передаваемым на бэкенд, всегда добавлялась строка заголовка "Content-Length", даже если у запроса не было тела;- Исправлена ошибка, приводившая к выводу в лог сообщения "http request count is zero" и проявляющаяся при использовании протокола HTTP/2;- Исправлена ошибка в директиве sub_filter, из-за которой могло буферизироваться больше данных, чем это необходимо. Проблема появилась в версии 1.9.4.URL: http://mailman.nginx.org/pipermail/nginx-ru-announce/2016/00...
Новость: http://www.opennet.me/opennews/art.shtml?num=44734
Как начал пользоваться nginx года 3 назад, так забил на апач навсегда
Как начал пользоваться pgbouncer, так забил на PostgreSQL навсегда.
Как начал пользоваться Emacs, так забил на Lisp навсегда.
Та же песня. Ещё удивляюсь, как кто-то юзает апач в 2016, если ему не нужны специфичные его модули. Или ещё извращенцы nginx+apache делают, вот тут совсем клиника. Опять же, если это не специфичный костыль.
Каким образом работает php движки с их .htaccess ? У меня три web сервиса полностью написанные на perl, переписывать всё на fastcgi ?
Единая точка входа, которую можно сделать не только с помощью хтаксесс, но и с помощью нгинкса
fcgiwrap
LiteSpeed HTTP таки умеет эти ваши htaccess.
Странно хотеть производительности и гадить ее лишними обращениями к сторажу. А с htaccess по другому никак.
Увы htaccess не умеет хранить себя в памяти с TTL
> Увы htaccess не умеет хранить себя в памяти с TTLЭто ваши апачи, лайти и жинксы не усеют _его_ хранить.
элементарно кешируется, а изменение файла отслеживается через inotify
> Каким образом работает php движки с их .htaccess ?web не един только php и .htaccess, решения для ваших дуг давно есть в nginx и других альтернативных web серверах
>У меня три web сервиса полностью написанные на perl, переписывать всё на fastcgi ?
нет не нужно(если вы конечно в своем коде явно не зависите от внутренних библиотек, зависимостей и функций самого Apache), perl можно запускать и на nginx и на других альтернативных web серверах, которые поддерживают технологию FastCGI.
Во всех нормальных современных веб-приложениях (хоть на php, хоть на python, хоть на ruby, хоть на чем) единая точка входа, достаточно одной строки try_files или error_page 404 =200.Апач нужен только для всякого легаси, которое трогать страшно. Ну и для шаред-хостингов, да, хотя не понимаю, кому они нужны, когда приличные vps-ки стоят 2 бакса.
последний php в режиме fcgi не нуждается даже в try_files.
Статику через php гонять? Пфф, не, спасибо, не надо.Хотя я в своих самописных обхожусь без try_files. Для статики я выделяю отдельные субдомены или префиксные location-ы (плюс специальные location-ы для специальных случаев типа location = /favicon.ico), а все остальное отправляю на php, и php-код вообще лежит отдельно от document root. А с фреймворками типа yii/laravel проще через try_files все же, хотя и их на такую схему перевести несложно (просто многовато location-ов будет).
теоретик от веба.посмотри на зарплаты bitrix разработчиков.
и проглоти слюну.
Ты еще 1Сников как пример приведи.
Ага - у них зарплата - одо мороженное в день? :)
Посмотрел, на hh офферов больше $2000 - единицы, и в большинстве речь идет скорее о руководящей роли.Не понял, кто и что тут глотает :-)
> У меня три web сервиса полностью написанные на perl, переписывать всё на fastcgi ?В мире современного perl уже минимум пять лет существует Plack, который избавляет от необходимости что-то переписывать при смене mod_perl на fastcgi или на еще десяток бекендов.
воу-воу-воу, cgi-программисты в треде. срочно читать про mojolicious
spawn-fcgi
bitrix завязан на апач по большей части.быстро
просто
эффективно
Что-то как-то не вяжется Bitrix с этим словами:
>>быстроДаже wordpress наверное быстрее.
>>простоТочно нет.
>>эффективноОпять нет.
Ну у меня работает на нджинксе и пхп-фпм.
> Или ещё извращенцы nginx+apache делают, вот тут совсем клиника.Ну если это совсем клиника, тебе ведь не составит проблему привести хоть парочку аргументов, правда?
Ок. Зачем нам апач жрущий ресурсы сервера, если справится один шустрый и лёгкий nginx?
> Ок. Зачем нам апач жрущий ресурсы сервера, если справится один шустрый и
> лёгкий nginx?некоторые совсем долбанутые решения бывают как модуль для апача.
А не подскажете, как на хостинге настроить nginx так, что бы пользователи могли добавлять свои сайтики с хитрыми правилами которые делаются обычно через .htaccess и при этом не положили сайты других пользователей (если им дать доступ в конфиг nginx то они смогут это сделать).
> А не подскажете, как на хостинге настроить nginx так, что бы пользователи
> могли добавлять свои сайтики с хитрыми правилами которые делаются обычно через
> .htaccess и при этом не положили сайты других пользователей (если им
> дать доступ в конфиг nginx то они смогут это сделать).Ну если "вы у мамы хостинг" - то ладно подскажу. Ставьте нжинкс на фронт, и сколько-клиентов-столько нжинксов на бэк, и у каждого свой конфиг. Скажешь не будет такое работать? Дык - будет! :)
Добавлю к этому, что в 90% случаев пользователям от .htaccess нужно либо исполнение стадартного .htaccess от CMS, либо try_files на index.php. То есть в большинстве случаев можно обойтись возможностью для пользователя выбрать из нескольких готовых шаблонов для nginx.
> Добавлю к этому, что в 90% случаев пользователям от .htaccess нужно либо
> исполнение стадартного .htaccess от CMS, либо try_files на index.php. То есть
> в большинстве случаев можно обойтись возможностью для пользователя выбрать из нескольких
> готовых шаблонов для nginx.Либо перенаправление старых ссылок, которые когда-то участвовали в рекламных компаниях и сейчас в топе поисковиков, но со временем ассортимент и предложения немного менялись.
А так-же для учёта эффективности тех или иных рекламных компаний...
Ок. Зачем нам один шустрый и лёгкий nginx если ваш Ынтерпрайз аапЗЪ требует апач жрущий ресурсы сервера, если повезёт? А если нет - там будет JavaEE со всеми потрохами :(
Тоже одним нжинксом заменишь? А штаны не лопнут? :))))
Вот потому у людей с головой всё на своём месте, где надо - нжинкс, где надо - опачЬ, где надо - жабы в прудике :)
Я говорил, если это не специфичный случай. Тут можно понять использование апача.
nginx уже умеет исполнять php? Времена, когда большинство сайтов были чисто статическими прошли задолго до появления nginx. А исполнение php это основной usecase, а не специфический случай.
Предупреждая следущее возражение, сообщаю, php-fpm не имеет преимущества по скорости перед apache+mod_php и выбор между ними идет на основе требуемых фич.
> nginx уже умеет исполнять php?Да, через fastcgi. То, что у php-fpm и apache+mod_php одинаковая скорость, не является преимуществом Apache. А вот у nginx перед apache преимуществ достаточно.
Конечно, Apache можно затюнить так, что он будет почти дотягивать до состояния дефолтного nginx. Но после тюнинга nginx, тот уходит в большой отрыв.
Посмотри внимательно предыдущие сообщения. Речь шла о связке nginx+apache, а не о том, что nginx лучше apache справляется со статикой, кешированием и проксированием или о том, чтобы оставить только apache. То есть в этом контексте сравнивается не столько apache c nginx, сколько apache+mod_php с php-fpm.Nginx не умеет исполнять что-либо через fastcgi, он умеет обращаться к fastcgi серверу. А вот apache с mod_ЯП реально может быть средой исполнения.
> А вот apache с mod_ЯП реально может быть средой исполнения.Да, но я не вижу эксклюзивного профита от такого способа под нагрузкой. php-fcgi процессу можно настроить нужный uid/gid, корневую папку, передать все нужные ENV переменные.
У mod_php вижу профит в экономии памяти, когда на сервере есть много малопосещаемых сайтов и для них нет смысла держать отдельные php демоны с нужными uid/gid.Кстати, насчет "mod_ЯП".
Например, для python рекомендуют использовать не mod_python, а mod_wsgi - аналог fastcgi для python, который запускает отдельный процесс.
Для ruby тоже рекомендуют использовать не mod_ruby, а mod_passenger (он же mod_rails, он же mod_rack), где в результате так же запускается отдельный процесс.
Т.е. рекомендуют использовать способ исполнения скрипта вне процесса apache.
php-fpm имеет преимущество в memory footprint и простоте конфигурации
Потому-что бывает не один сайт с не одним разработчиком и они должны работать под разными user-ами из-за особенностей доступа к файлам и папкам.
( этакий мини shared хостинг на своей vps )
Как начал пользоваться nginx для балансировки вебни годы тому назад, так и перешел на apache traffic server.
> Как начал пользоваться nginx для балансировки вебни годы тому назад, так и
> перешел на apache traffic server.Технически возможно, но вот оправданно только в узеньком таком диапазоне ... а нжинкс - затычка универсальная! :) У меня младо-одмины хотят им IMAP проксить ... и быстрее всего - получится :)
> Добавлен модуль ngx_stream_return_moduleВсегда делаю так
location = /hello {
types { };
default_type text/plain;
return 200 "hello world";
}
> Всегда делаю так
> location = /hello {
> types { };
> default_type text/plain;
> return 200 "hello world";
> }это вы отправляете статус код 200 и текст для HTTP протокола(версии 1.0/1.1/2) после выполнения запроса, в новой же 1.11.2 версии теперь можно отправлять текст, переменные и их комбинации для TCP и UDP портов в модуле stream
Это вы для http запроса делаете так. А модуль stream обрабатывает просто TCP/UDP потоки.
В общении с postgres и memcache нету location /hello.
Зачастили как-то релизы nginx-а...
Это мейнлайн, он всегда частит, штабле 1.10.1 теперь будет пока в нём дыру не найдут
>штабле 1.10.1 теперь будет пока в нём дыру не найдутдело не только в находке дыр но испытание временем и деплойментом, если по истечению X времени основная ветка будет показывать себя стабильно и без нареканий то оно постепенно будет переходить и обновлять стабильную версию.
> Зачастили как-то релизы nginx-а...а как же, без этого никак :)
> Зачастили как-то релизы nginx-а...Ладно-ладно. зафорсил-зафорсил уже-уже.
> Ладно-ладно. зафорсил-зафорсил уже-уже.Не ворчи. Этот комент показывает, что я зашёл в новость, прочитал, плюсанул и задумался о судьбах отечест... своего сервачка. Если комента нет -- значит у Какаяны что-то не в порядке.
>Если комента нет -- значит:-P А если его столько, что создаётся впечатление, что:
(Скажи нет тупому флуду -- будь весел и изобретателен в тролинге своЕм!)
> у Какаяны что-то не в порядке.
> Скажи нет тупому флуду -- будь весел и изобретателен в тролинге своЕм!Хм, ладно. Да будет по слову твоему. Горшочек, не флуди.
Неужели теперь во фреймах порносайтов не будет надписи с ошибкой от нгеникса с не найденными воротами. Это уже прогресс. Или они договорились?
> Неужели теперь во фреймах порносайтов не будет надписи с ошибкой от нгеникса
> с не найденными воротами. Это уже прогресс. Или они договорились?А это не проблема нджинкса
>> Неужели теперь во фреймах порносайтов не будет надписи с ошибкой от нгеникса
>> с не найденными воротами. Это уже прогресс. Или они договорились?
>
> А это не проблема нджинксаЭто проблема порносайтов
<marketolog>
Это услуга порносайтов
</marketolog>