Nginx

индекс
266,97

Для Nginx появилась коммерческая техподдержка

Доступны три пакета услуг:
  • Essential ($1100/мес)
  • Advanced ($4400/мес, $50K/год)
  • Premium ($6600+/мес, $70K+/год)
Самый дорогой вариант включает в себя неограниченное количество серверов, круглосуточную телефонную поддержку 24х7 и допускает работу по найму. На самом дешёвом тарифе рассматриваются максимум 2 инцидента в месяц, 2-10 серверов, контакты только по почте/вебу, никакой приоритетной разработки для клиента или помощи в дизайне/внедрении.

Контракты заключаются на 3-12 месяцев, платежи помесячно или поквартально, предоплата.

Разумеется, подписываться на коммерческую поддержку никто не заставляет, можно пользоваться бесплатной поддержкой, продукт и все исходные коды тоже остаются свободными.
10 февраля 2012, 09:59
8

fbi.gov тоже использует nginx

Недавно, по работе, пришлось столкнуться с сайтом fbi.gov. Пароль, который выдали почему-то не прошел, и каково-же было мое удивление, когда после 3-ей попытки я увидел это

+32
4 февраля 2012, 04:51
9

MySQL в NGINX: использование блокирующих библиотек в неблокирующем сервере из песочницы

Как известно, при разработке высоконагруженных серверов часто применяется событийная модель работы с сокетами. Ключевым компонентом системы при этом является epoll (во FreeBSD и Windows есть свои решения, но остановимся на Линуксе). Функция epoll_wait, будучи единственным блокирующим вызовом, возвращает нам информацию обо всех сетевых событиях, которые нас интересуют. Подобным образом, конечно, работает и всем известный сервер NGINX.

Событийная модель программирования делает код весьма своеобразным, как будто выворачивает его наизнанку. Но эта проблема не так страшна. Есть другая проблема — использование в событийно-ориентированном коде существующих библиотек, изначально не предназначенных для него. Если подобная библиотека делает блокирующие вызовы (например, connect, recv и т.д.), вся событийная модель может потерять смысл т.к. окончания одного такого вызова будут ждать все остальные клиенты, что совершенно неприемлемо, если вы пишете серьезный продукт.
+61
2 февраля 2012, 12:07
122

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

Приветствую Вас, хабрачитатели!

Расскажу об одной задачке, которая встала передо мной, и как я ее решил.

Сразу оговорюсь — часовой поиск в G и в Я удовлетворяющего результата не принес, но за следующий час было реализовано собственное решение.

Все это пока не более чем эксперимент — есть белые пятна как в идеи, так и в реализации, на данном этапе нужно понять жить или не жить.


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

В качестве веб-сервера и первичного балансировщика нагрузки у меня имеется Nginx.

В моей системе для php используетcя php-fpm через fastcgi, так же через fastcgi работает c++ сервер бизнес логики.

+34
6 января 2012, 15:53
116

Nginx обогнал Microsoft IIS и вышел на второе место по активным сайтам

В свежей статистике Netcraft за январь 2012 произошло замечательное событие: веб-сервер nginx наконец-то обогнал Microsoft IIS и вышел на второе место в интернете среди активных сайтов (то есть сайтах с уникальным контентом, сделанных не по шаблонам).



Разработчик Декабрь 2011 Доля Январь 2012 Доля Изменение
Apache 102 005 032 58,21% 105 684 049 57,93% -0,28
nginx 20 342 324 11,61% 22 221 514 12,18% 0,57
Microsoft 21 572 870 12,31% 22 142 114 12,14% -0,17
Google 14 240 979 8,13% 14 412 926 7,90% -0,23
Примечательно, что в этой статистике все основные конкуренты потеряли позиции, и только nginx прибавил по сравнению с декабрём 2011 года.
+50
6 января 2012, 13:07
6

Четыре зловещие шестнадцатеричные цифры на страницах ошибок — и как преодолеть их

С этим загадочным глюком вы столкнётесь только при сочетании сразу нескольких условий.

Ваш сайт обслуживается Apache Server. (Это условие выполнить нетрудно: сейчас Apache — один из наиболее популярных вебосерверов.)

Ваш сайт также снабжён кэширующим сервером nginx. (Закупая shared-хостинг для небольшого сайта, вы можете до последней минуты ничего и не знать о том, что хостинговый провайдер, заботясь об экономии ресурсов, навесил nginx. Если, конечно, не полезете читать заголовки HTTP-отклика.)

Вы ставите какой-нибудь движок, работающий на PHP. (Например, CMS Drupal. Или, например, вики MediaWiki.)

После этого вам хочется посмотреть, как выглядят страницы ошибок №404, создаваемые движком. Вы скармливаете в вики адрес несуществующей статьи, или скармливаете в Drupal адрес несуществующей страницы.

И тогда приходят они. Четыре шестнадцатеричные цифры. Они появляются в коде страницы с описанием ошибки 404 (а также и 403), они стоят в этом коде перед «<!DOCTYPE», и поэтому многие браузеры (например, Firefox) стремятся отобразить их выше всего остального текста страницы — а значит, заметно разламывают дизайн, задуманный создателями CMS или вики:

3340
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
    <head>
          <title> … … …

В чём же дело?

+72
3 января 2012, 19:01
194

Модуль для получения скриншотов из видео — nginx-video-thumbextractor-module

Получаем скриншоты из видео через NGINX средствами ImageMagick и ffmpeg


Совсем недавно появился новый модуль nginx-video-thumbextractor-module
Хотел опубликовать как ссылку но как видно топиков-ссылок больше нет. да и как перевод уже не подходит ибо добавил отсебятины.
В любом случае считаю что стоит поделиться этим замечательным модулем с Хабровчанами.
В статусе указано что он готов для продакшена, что очень радует.
+26
6 декабря 2011, 19:29
88

Кеширующий прокси-сервер на nginx. Хитрая конфигурация из песочницы

На Хабре уже есть несколько описаний Nginx, но, думаю, моя конфигурация тоже будет интересна.
Ситуация выглядит следующим образом: есть размещённый на нескольких серверах IIS сайт (интернет-магазин), перед ним расположен балансировщик. Между ними решено установить nginx для уменьшения нагрузки на IIS.

Основная масса динамического контента отображается Ajax-ом, так что кеширование страниц каталога товаров вполне безопасно. Однако на них могут быть отзывы о товаре, за которые можно проголосовать — совсем как на Хабре, что тоже надо учесть.

Плюс к этому хочется поддерживать валидность популярных страниц в кеше автоматически.
+67
25 октября 2011, 12:16
208

Проксируем Cookies на Nginx при помощи модуля lua-nginx



Я уже писал о том, как с помощью Nginx трансформировать контент на лету. С момента публикации статьи на базе описанного метода запущен и развивается реальный проект ecommerce. Помимо перевода и трансформации также реализован и SEO рерайт по заветам руководства для начинающих от Google.

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

В чем суть проблемы


Проблема заключается в том, что любой нормальный сервер приложений всегда выставляет Cookie, например для того, чтобы сохранять сессию клиента или корзину с его товаром. Если этот сервер (точнее его администратор) озабочен поддержанием определенного уровня безопасности, то он выставляет в теле Cookie домен и путь, например domain= backend.org; path=/path1. Наш Nginx запущенный в режиме Reverse Proxy замечательно меняет все ссылки в теле документов с backend.org на frontend.org, но не делает этого для кук! Это означает что браузер клиента отвергнет такие куки.

Этот вопрос с давних пор волнует умы администраторов nginx, в рассылках он всплывает по 1-2 раза в год. Большинство вопрошавших, по-видимому, решили свои проблемы подкручивая логику backendа, но не я! После очередного апдейта оригинального сайта стало понятно, что костыль с PHP + Curl тянуть больше невозможно и надо непременно найти решение с помощью Nginx!

Я вернул тему в рассылку, попутно перебирая варианты из ngx_http_perl_module и переменной $upstream_http_set_cookie, даже заглянул в дебри сорсов с призрачной надеждой написать модуль самому. Но все было неудачно пока в один прекрасный момент я не получил письмо от Mikhail Mazursky, который дал ценный совет. Благодаря этому совету я не только с легкостью решил задачу проксирования Cookie, но и получил новый инструмент, с помощью которого можно создать версию 2.0 своего проекта.

Решение


Название этого инструмента lua-nginx-module, который написан еще одним китайским самородком с корнями из Taobao. Из названия легко понять, что речь об языке скриптов Lua встроенном в Nginx — но это больше чем просто интерпретатор! Эти ребята создали полностью неблокируемую реализацию с производительностью десятки тысяч операций в секунду, которая имеет хуки ко всем событиям внутри Nginx. То что раньше можно было реализовать только написав свой модуль на C, теперь можно сделать несколькими строчками на Lua. Заинтересовались?
+62
20 октября 2011, 22:27
130

Nginx получил 3 миллиона долларов инвестиций

Компания Nginx Inc. сообщила о получении первого транша венчурных инвестиций в размере $3 млн. Венчурные фонды Runa Capital, BV Capital и MSD Capital вложили деньги под создание нового коммерческого продукта, который должен выйти до конца октября.

Три миллиона долларов пойдут на американскую экспансию Nginx Inc., открытие офиса в Сан-Франциско в октябре-декабре 2011 года, наём персонала.

Игорь Сысоев разработал первую версию веб-сервера Engine X (Nginx) в 2002-2004 гг, будучи штатным сотрудником компании «Рамблер». В июле 2011 года он основал собственную фирму Nginx, а в октябре 2011 года — акционерное общество Nginx Inc. На сегодняшний день веб-сервер Nginx установлен на более чем 40 млн доменах в интернете (8,5% от общего количества) и владеет долей более 20% среди тысячи самых крупных веб-сайтов, включая Facebook, Dropbox и WordPress.

Можно посчитать, что если хотя бы 1% сайтов перейдёт с бесплатной на коммерческую версию Nginx, то инвестиции венчурных фондов окупятся с лихвой. Кажется, беспроигрышная сделка. По некоторым оценкам, за $3 млн инвесторы получили до 40% акций, а также два места в совете директоров.

UPD. По поводу инвестиционной сделки опубликовано сообщение в официальном блоге Runa Capital на Хабрахабре.
+113
11 октября 2011, 10:51
12