Обновить
34.25

Nginx *

Веб-сервер и почтовый прокси-сервер

Сначала показывать
Порог рейтинга
Уровень сложности

В nginx появился нативный модуль стриминга mp4

Время на прочтение1 мин
Охват и читатели10K
image Модуль полностью нативный и написан Игорем Сысоевым, анонс был вчера:

Изменения в nginx 1.1.3 14.09.2011
*) Добавление: модуль ngx_http_mp4_module.

Только что я его поставил и он работает.
Основная директива mp4 совместима с модулем h264.code-shop.com/trac/wiki/Mod-H264-Streaming-Nginx-Version2
Описание директив модуля:
nginx.org/en/docs/http/ngx_http_mp4_module.html

Ссылка на исходник, спасибо powder96
nginx.org/download/nginx-1.1.3.tar.gz
Ссылка на rpm для Centos 5
centos.alt.ru/?p=579

По моему это просто чудо какое то.
Добейте если не жалко 22 плюса к новости до инвайта.

WebDav и Nginx

Время на прочтение2 мин
Охват и читатели37K
Приветствую вас, господа.

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

В итоге своих изысканий у меня получилась такая схема — скрипт на PHP получает адрес файла и делает запрос к серверу, а он в свою очередь получает файл и складывает в требуемую папочку.

Приводить дальнейшие примеры по установке, настройке и отработке взаимодействий я буду отталкиваясь от debian-based ОС.

Как это реализовать?

Ограничения в secure_link «реальном» мире

Время на прочтение3 мин
Охват и читатели3.1K
Здравствуйте.
Побудила меня написать эту заметку статься Недокументированные возможности secure_link.
Где по большому счету была теория но мало прикладных примеров.
Поэтому я и решил немножко исправить ситуацию и поделится своими небольшими наработками.
Читать дальше →

Nginx получит полноценную поддержку HTTP/1.1 Keep-Alive соединений с бэк-эндами

Время на прочтение2 мин
Охват и читатели6.2K
На прошлой неделе Максим Дунин разместил в англоязычном списке рассылки разработчиков Nginx сообщение с просьбой потестировать патч, добавляющий полноценную (включая chunked-ответы) поддержку Keep-Alive соединений (при использовании upstream keepalive модуля) с http, fastcgi и memcached бэк-энд серверами.

Во избежание кривотолков, напомню, что Nginx обладает прекрасной поддержкой протокола HTTP 1.1 и Keep-Alive соединений с клиентами. Однако, постоянные соединения с http бэк-эндами не поддерживаются. На то были свои причины.
Читать дальше →

Прозрачное кэширование в nginx для всех и каждого

Время на прочтение2 мин
Охват и читатели116K
Представим, что у нас есть сайт, на который регулярно дают ссылки с хабра.
Нам нужно подготовить его к резким всплескам посещаемости. Как это сделать?

С версии 0.8.46 в nginx появились опции, позволяющие легко и просто настроить прозрачное кэширование для анонимных пользователей.

Для работы этой схемы от сайта требуется очень мало: достаточно лишь не начинать сессию, то есть не отправлять сессионную куку, без явной на то необходимости. Редкий сайт нельзя довести до такого состояния, а значит большинство сайтов можно защитить от резких всплесков посещаемости с помощью nginx с минимальными затратами сил и времени.

Читать дальше →

Поддержка реверс-проксирования Web Sockets в Nginx

Время на прочтение2 мин
Охват и читатели12K
Если вы используете Socket.IO или Faye с WebSockets, и хотите при этом использовать реверс-прокси с Nginx, то вы встретитесь с проблемой поддержки WebSocket в Nginx. Ее просто нет — WebSocket использует HTTP 1.1, в то же время как Nginx умеет правильно проксировать только HTTP 1.0.

Что делать?


Вы можете попытаться пойти в обход — использовать HAProxy для проксирования tcp соединений, или же скатиться к использованию Long-polling.
Но есть способ реализовать реверсированное проксирование и с NGINX, используя неофициальный патч, реализующий модуль tcp_proxy в nginx, который даст возможность пробрасывать произвольные tcp-соединения (по сути тоже самое, что дает HAProxy).
Читать дальше →

Установка Asp.Net на Linux (nginx+mono+xsp)

Время на прочтение7 мин
Охват и читатели40K
В этой статье я покажу, как настроить простую связку nginx + Asp.Net. Под простой надо понимать, что какие-то специфические особенности проектов, разграничение прав пользователей, высокие нагрузки и т.п. нужно настраивать отдельно (особенно это касается Asp.Net). Статья написана по просьбе хабраюзера mace.

В свое время озадачившись проблемой хостинга маленьких Asp.Net-проектов я осознал одну простую вещь: покупать лицензию на Windows Server, а потом и арендовывать достаточно мощный выделенный/виртуальный сервер для каких-то домашних поделок/экспериментов — крайне неразумно. Решение как-то сразу всплыло в моей лысой голове: есть же Mono! Непродолжительный поиск по mono-project.com вывел на FAQ об Asp.Net. Фактически, документация показала мне три возможных варианта:
Читать дальше →

Недокументированные возможности secure_link

Время на прочтение2 мин
Охват и читатели14K
  Начиная с версии 0.8.50 в модуле Nginx secure_link появилось значительное улучшение по защите ссылок от подделывания. Как ни странно, новые возможности до сих пор не отражены в официальной документации [1]. Описание на английском можно найти на сайте Nginx Community [2], а также пояснения Сысоева по данным изменениям [3]. Код на PHP для генерации защищённых ссылок можно найти в форуме по nginx [4].
 В общем, новшество выглядит так:
Читать дальше →

Релиз Nginx CT++ Module 0.5 — высокопроизводительного модуля-шаблонизатора для веб-сервера

Время на прочтение2 мин
Охват и читатели3.5K
Первоначально хотел оформить как топик-ссылку, но тогда не получилось бы вставить картинку:

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

Позднее, как появится свободное время, напишу более подробную пошаговый HowTo, что вообще можно и что нужно делать с модулем, как можно представить MVC в виде: M — ваши сервисы, V — этот модуль и C — Nginx.
Читать дальше →

Не nginx`ом единым…

Время на прочтение1 мин
Охват и читатели956
12 апреля уже позади, как и релиз 1.0 версии nginx`а ) Вспоминал времена «до» nginx`а. Соответственно, на моём опыте. Апач в то время уже не очень рулил, а если и рулил, то обрезанный, без всяких реврайтов и htaccess`ов. И вдруг вспомнил замечательный сервер 0w (ZeroWait), от создателя счётчиков ракса (ныне ли.ру), Максима Зотова. Вроде как работа над сервером завершилась 3 года назад, но вот что интересно. Как и nginx, 0w не стремился к мажорным цифрам и релизам. Приятно ведь ) приятно что у нас такие разработчики. И ведь посмотрите. Самый быстрый веб сервер — русский. Реализация fastcgi для php — русская. Самый быстрый шаблонизатор, Blitz — русский.
Вот до чего доводит голод и отсутсвие железных ресурсов русских разработчиков…

Вышел Nginx 1.0

Время на прочтение1 мин
Охват и читатели1.4K


Сегодня, в день космонавтики, Игорь Сысоев выпустил стабильную версию веб-сервера Nginx 1.0.

Список изменений по сравнению с предыдущей версией:
  • Исправление: cache manager мог нагружать процессор после
    переконфигурации.
    Спасибо Максиму Дунину.
  • Исправление: директива «image_filter crop» неправильно работала в
    сочетании с «image_filter rotate 180».
  • Исправление: директива «satisfy any» запрещала выдачу
    пользовательской страницы для 401 кода.

Репозитарий доступен по адресу svn://svn.nginx.org. Инструкция по установке из исходников.

Скачать rpm для CentOS 5 можно здесь (репозиторий CentALT).

В комментариях к этому посту есть ссылки на пакеты и разъяснения по установке для некоторых других дистрибутивов Linux.

Порт nginx 1.0.0 на FreeBSD здесь. Автоновости

http_handlersocket_json_module

Время на прочтение3 мин
Охват и читатели1.8K
О назначении модуля можно догодаться из названия. О HandlerSocket говорят много и на разных языках (в основном на японском, английском и последнее время немного на русском).
Модуль NGX_HTTP_HANDLERSOCKET_JSON_MODULE обращается к данным MySQL через протокол HandlerSocket и отдает данные в формате JSON. Область применения AJAX.
Исходники

О конфигурации, особенностях и ограничениях можно почиать ниже.
Читать дальше →

Трансформация и перевод на другие языки web-сайтов на лету при помощи Nginx

Время на прочтение5 мин
Охват и читатели10K




В моем первом посте я описал применение Apache Traffic Server в качестве кеширующего reverse-proxy. В отзывах меня спрашивали почему не nginx? Поскольку в ATS все равно не нашлось удобного способа трансформировать контент сайта, то я решил изучить возможности Nginx. Для решения задачи пришлось углубится в дебри документации, и вот что получилось…
Читать дальше →

Ближайшие события

Модуль ustats: статистика запросов к бэкендам

Время на прочтение5 мин
Охват и читатели8.6K
Приветствую!

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

Читать дальше →

Ускоряем раздачу фоток

Время на прочтение8 мин
Охват и читатели15K

С проблемой медленной отдачи статического контента рано или поздно сталкивается каждый сисадмин.

Проявляется это приблизительно так: иногда 3Kb картинка грузится так, как будто бы она весит 3Mb, на ровном месте начинают «залипать» (отдаваться очень медленно) css-ы и JavaScript-ы. Вы нажимаете ctrl + reload — и уже, вроде, проблемы нет, потом спустя всего несколько минут все повторяется опять.

Не всегда истинная причина «тормозов» очевидна и мы косо поглядываем то на nginx, то на хостера, то на «забитый» канал, то на «тормозной» или «глючный» браузер :)

На самом деле проблема в несовершенстве современного винчестера, который до сих пор не расстался с механическими подсистемами вращения шпинделя и позиционирования головок.

В этой статье я предложу Вам свое решение этой проблемы, основанное на практическом опыте использования SSD дисков совместно с web-сервером nginx.
Читать дальше →

Анонсирован выпуск Nginx 0.9

Время на прочтение1 мин
Охват и читатели855


Игорь Сысоев анонсировал выпуск Nginx версии 0.9.1.

Основные изменения по сравнению с недавно ставшей стабильной веткой 0.8.x пока невелики, но спешу напомнить, что в Unstable обкатываются новые «фичи» и она постепенно «обрастает» функционалом, в Stable ветку же вносятся только изменения связанные с некорректной работой Nginx либо Security фиксы.

Читать дальше →

Серверный редирект на мобильную версию сайта

Время на прочтение2 мин
Охват и читатели37K
image
Предлагаю вашему вниманию простое и дешевое (по ресурсам) решение для перенаправления пользователей мобильных устройств на легкую версию сайта. Решение ориентировано на highload сайты, оптимизация которых основана на кешировании гостевых запросов.
Проверка, является ли клиент мобильным устройством, производится веб-сервером nginx и в случае успеха клиент перенаправляется на поддомен или локейшн. Это существенно экономит ресурсы и позволяет добиться большей масштабируемости по сравнение с PHP методами.
Читать дальше →

Nginx + CentOS 5.5 + aio

Время на прочтение2 мин
Охват и читатели2.7K
Не многие знают, что в ядро RHEL 5.5 ( начиная с 2.6.18-194.8.1 ), а соответственно и в CentOS 5.5 был бэкпортирован механизм eventfd, который используется в nginx для aio.

Казалось бы все хорошо, ан нет, в списках рассылки несколько человек отписалось, что имеет место «утечка сокетов» которую устраняют 4 патча от Maxim Dounin 2 из которых уже вошли в nginx 0.8.53.
Читать дальше →

Ветка 0.8.x стала стабильной

Время на прочтение1 мин
Охват и читатели764
27 сентября Игорь Сысоев опубликовал новую стабильную версию веб-сервера nginx-0.8.51. Сообщение в списке рассылки:
Статус версии 0.8.x изменён на стабильный.
Во время разработки этой версии, среди прочего, появились

* поддержка именнованых выделений в регулярных выражениях,
* поддержка файлового AIO во FreeBSD и Linux,
* SSL CRL,
* модули SCGI и uwsgi.


UPD: уже 0.8.52

Автоматизация создания виртуального хоста для web-разработки на базе Apache+Nginx

Время на прочтение5 мин
Охват и читатели11K

Как быстро создать виртуальнй хост и структуру папок одной строкой в терминале


Так уж сложилось, что для web-разработки я использую отдельный сервер на базе Debian. В первую очередь это обусловлено тем, что я часто работаю вне дома, а так-же это позволяет совместно работать над проектом с коллегами.
Раньше мне приходилось вручную создавать директории для сайта, копировать и править конфиги. Я тратил на это кучу времени и иногда ошибался, а потом судорожно искал где и что я упуслил.

Не так давно я задумался над автоматизацией процесса создания виртуальных хостов. Порыв немного в интернетах, и заодно вспомнив bash, родился скрипт, который избавил меня от рутины и ошибок одновременно.
Читать дальше →

Вклад авторов