Все потоки
Поиск
Написать публикацию
Обновить
4.56

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.4K
Первоначально хотел оформить как топик-ссылку, но тогда не получилось бы вставить картинку:

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

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

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

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

Вышел Nginx 1.0

Время на прочтение1 мин
Количество просмотров1.3K


Сегодня, в день космонавтики, Игорь Сысоев выпустил стабильную версию веб-сервера 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 мин
Количество просмотров9.8K




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

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

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

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

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

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

Время на прочтение8 мин
Количество просмотров14K

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

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

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

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

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

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

Время на прочтение1 мин
Количество просмотров831


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

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

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

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

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

Nginx + CentOS 5.5 + aio

Время на прочтение2 мин
Количество просмотров2.6K
Не многие знают, что в ядро 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 мин
Количество просмотров744
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, родился скрипт, который избавил меня от рутины и ошибок одновременно.
Читать дальше →

Кеширование блоков с помощью nginx

Время на прочтение6 мин
Количество просмотров15K
nginx + SSIМногим разработчикам знакома ситуация когда кешировать страницы сайта, скажем, на 5-10 минут нельзя всего из-за одного небольшого блочка, актуальность которого нужно поддерживать если не в реальном времени, то с временем «старения» не больше 5-10 секунд. При этом посещаемость сайта продолжает расти, растет время генерации страниц и c этим надо что-то делать…
  • Вариант решения 1: Подкрутить то, до чего не доходили руки последнее полгода. Все Вас поймут и передвинут сроки на другие задачи. Вы будете в роли «Супермена» один спасать сайт от непомерной нагрузки, решая проблему «бесплатно» (без доп. вливаний в оборудование). Вам может пригодиться статья «Тюнинг nginx».
     
  • Вариант решения 2: Улучшить техническую базу (докупить мозгов на сервер, улучшить дисковую систему, поставить под БД отдельный сервер). В принципе проблема не решена, а скорее отложена. Теперь у Вас есть время «окопаться» и подготовиться ко второй волне наплыва нагрузки, она будет больше и накроет сильнее.
     
  • Вариант решения 3: Ваш вариант, о котором я, вероятно, узнаю из комментариев.
     
Позвольте предложить и мне проверенное и относительно простое решение на базе одной из старейших технологий в Web-разработке.
Читать дальше →

Генератор миниатюрок из Nginx-а

Время на прочтение3 мин
Количество просмотров27K
Итак, сегодня мы соберём генератор миниатюрок на базе любимого народом веб-сервера — nginx-а. Что примечательно, сделаем мы это без единого гвоздя, т.е. без единой строчки кода, не считая конфигурации.
Что ж приступим...

Nginx + IPv6

Время на прочтение2 мин
Количество просмотров25K
Недавно написал топик про поддержку IPv6 в Windows 7/Vista/XP (это тут). Захотелось сделать поддержку IPv6 на своём сервере, где хостируются сайты, в итоге вот что получилось.
Читать дальше →

Мастер-класс Игоря Сысоева в Киеве

Время на прочтение1 мин
Количество просмотров1.2K
Я подумал что кому-то это мероприятие может быть интересно. Не пиар и не агитация.

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

А если кто-то таки решит пойти, то регистрация тут, а с кодом habrahabr скидка 10%.

Блокируем китайцев

Время на прочтение1 мин
Количество просмотров9.1K
Ниже пойдет текст достойный пера К.О.

Китайский трафик велик и беспощаден. Когда какая-нибудь смешная или не очень картинка попадает в китайские блоги, провайдер colocation начинает обижаться и рассказывать про несоответствие соотношений 3 к 2 российского и зарубежного трафика.

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

Примеров реализации есть несколько (ngx_http_geo_module, ngx_http_geoip_module или обычным deny), наиболее эффективный с помощью ngx_http_geo_module и базы wipmania (http://www.wipmania.com/ru/base/)

Облегчение на одном из серверов.
image

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

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