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

Nginx *

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

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

Установка VestaCP на VPS, использование docker для понижения версии PHP

Время на прочтение7 мин
Количество просмотров8K
Доброго времени!

Оставлю тут решение для своего хостинга на VPS за 5 евро, в основном с целью сохранить реализацию решения по своей проблеме.

Несколько лет назад я арендовал выделенный сервер под 20+ сайтов, файлообменник, базу даных на PostgreSQL для 1С, почтовый сервер IMAP. В качестве панели управления использовал ISPmanager с «вечной» лицензией, в качестве ОС был использован изначально CentOS 7 (или даже 6), который я не очень уважаю, больше нравится Debian/Ubuntu. В дальнейшем проекты уходили в соцсети, сайты переставали быть необходимыми, доменные имена освобождались.

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



Что делать, если один сайт на хостинге не работает с PHP выше 5.4
Читать дальше →

Envoy. 1. Введение

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

Приветствую! Это небольшая статья, отвечающая на вопросы: "что такое envoy?", "зачем он нужен?" и "с чего начать?".


Что это


Envoy — это L4-L7 балансировщик написанный на С++, ориентированный на высокую производительность и доступность. С одной стороны, это в некотором роде аналог nginx и haproxy, соизмеримый с ними по производительности. С другой, он больше ориентирован под микросервисную архитектуру и обладает функционалом не хуже балансировщиков на java и go, таких как zuul или traefik.


Таблица сравнения haproxy/nginx/envoy, она не претендует на абсолютную истину, но дает общую картину.


nginx haproxy envoy traefik
звезд на github 11.2k/mirror 1.1k/mirror 12.4k 27.6k
написан на C C C++ go
API нет socket only/push dataplane/pull pull
active healthcheck нет да да да
Open tracing внешний плагин нет да да
JWT внешний плагин нет да нет
Расширение Lua/C Lua/C Lua/C++ нет
Читать дальше →

Ресайз изображений на лету с помощью Nginx и LuaJIT (OpenResty)

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

Уже довольно давно, вдохновившись статьей Ресайз изображений на лету был настроен ресайз изображений с помощью ngx_http_image_filter_module и все работало как надо. Но появилась одна проблема, когда менеджеру понадобилось получать изображения с точными размерами для заливки на некоторые сервисы, т.к. это были их технические требования. К примеру, если мы имеем оригинал изображения размером 1200x1200, и при ресайзе мы пишем что-то вроде ?resize=600x400, то получим пропорционально уменьшенное изображение по наименьшему краю, размером 400x400. Так же невозможно получить изображение с бОльшим разрешением (upscale). Т.е. ?resize=1500x1500 вернет все тоже изображение 1200x1200


На помощь пришла статья OpenResty: превращаем NGINX в полноценный сервер приложений для понимания как работает Nginx с Lua и сама библиотека для Lua isage/lua-imagick — Lua pure-c bindings to ImageMagick. Почему было выбрано такое решение, а не, скажем, что-нибудь на python — потому что это быстро и удобно. Вам даже не понадобится создавать никаких файлов, все прямо в конфиге Nginx (не обязательно).

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

Поднимаем свой инстанс Webogram с проксированием через nginx

Время на прочтение6 мин
Количество просмотров8.7K
Привет, Хабр!

Недавно я попал в ситуацию, в которой необходимо было работать внутри корпоративной сети с неполным доступом к интернету и как вы можете догадаться по заголовку — Telegram в ней был заблокирован. Уверен, что данная ситуация знакома многим.

Я вполне могу обходиться без мессенджеров, однако именно Telegram мне нужен был для работы. Установить клиент на рабочую машину не представлялось возможным, использовать личный ноутбук — тоже. Еще одним решением видится использовать его официальную веб-версию, но как вы можете догадаться — она так же была недоступна. Вариант с поиском неофициального зеркала я сразу вычеркиваю (надеюсь по вполне очевидным причинам).

К счастью, Webogram — это opensource-проект, исходный код которого доступен в github его автора (За что огромное ему спасибо!)
Сама установка и запуск не представляет из себя ничего сложного, однако, в условиях эксплуатации внутри сети с заблокированным доступом к серверам Telegram вас скорее ждет разочарование, чем успех, так как веб-версия отправляет запросы на серверы Telegram с машины пользователя.

К счастью, это довольно просто (но не очень очевидно) исправить. Хочу предупредить, что я не являются автором данного решения. Мне удалось найти его в ветке, в которой обсуждалась проблема похожая на мою. Решение, которое предложил пользователь github tecknojock, мне очень помогло, однако, уверен, что оно может помочь еще кому нибудь, поэтому решился на написание данного туториала.

Под катом вас ждет пошаговая настройка своего зеркала Webogram и настройка проксирования его запросов до серверов Telegram с использованием nginx.
Читать дальше →

И снова капча или nginx тоже умеет вышивать

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

Введение


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


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

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

Nginx-log-collector утилита от Авито для отправки логов nginx в Clickhouse

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

Я из компании Luxoft.
В этой статье будет рассматриваться проект nginx-log-collector, который будет читать логи nginx, отправлять их в кластер Clickhouse. Обычно для логов используют ElasticSearch. Для Clickhouse требуется меньше ресурсов (дисковое пространство, ОЗУ, ЦПУ). Clickhouse быстрее записывает данные. Clickhouse сжимает данные, что делает данные на диске еще компактнее. Преимущества Clickhouse видны по 2 слайдам с доклада Как VK вставляет данные в ClickHouse с десятков тысяч серверов.




При этом за счёт сжатия данных «Кликхаус» использует в 11 раз меньше на жёстком диске и делает примерно в 30 раз меньше дисковых операций (из поста https://habr.com/ru/company/ua-hosting/blog/486540/):



Для просмотра аналитики по логам создадим дашборд для Grafana.


Кому интересно, добро пожаловать под кат.

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

[Nginx] Как победить response_status = 0

Время на прочтение2 мин
Количество просмотров7.6K
Статья из разряда «заметки на полях».

TL:DR:
http2_max_field_size 8k; # всех спасет!


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

{
  "timestamp": "2020-01-17T08:41:51+00:00",
  "remote_addr": "zzz.zzz.zzz.zzz",
  "request_time": 0,
  "upstream_response_time": "",
  "upstream_header_time": "",
  "http_accept_language": "-language",
  "response_status": 0,
  "request": "",
  "host": "example.com",
  "upstream_addr": "",
  "http_referrer": "",
  "request_length": 5854,
  "bytes_sent": 0,
  "http_user_agent": ""
}
Читать дальше →

Битва WEB серверов. Часть 2 – реалистичный сценарий HTTPS:

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


О методике мы рассказывали в первой части статьи, в этой мы тестируем HTTPS, но в более реалистичных сценариях. Для тестирования был получен сертификат Let’s Encrypt, включено сжатие Brotli на 11.

На этот раз попробуем воспроизвести сценарий развертывания сервера на VDS или в качестве виртуальной машины на хосте с типовым процессором. Для этого устанавливали лимит в:

  • 25% — Что в пересчете на частоту ~ 1350МГц
  • 35% -1890Мгц
  • 41% — 2214Мгц
  • 65% — 3510Мгц

Количество единовременных подключений сократилось с 500 до 1, 3, 5, 7 и 9,
Читать дальше →

Как программисту защитить свой пет-проект

Время на прочтение3 мин
Количество просмотров22K
image

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

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

Пошаговая инструкция под катом.
Читать дальше →

Авто-мото-разработки и Nginx

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


Список крупнейших мировых автопоставщиков за 2018 год

Отрасль автомобилестроения (включая, конечно, и разработку мотоциклов) в наше время — это огромная разветвлённая Вселенная, где балом правят не только ОЕМ, но и огромные концерны автопоставщиков.

И вполне обоснованно можно утверждать, что эта Вселенная уже сейчас и в последующем будущем зависит не только от мастерства инженеров-механиков. На первый план в automotive уже давно и прочно вышлo наша любимое IT.
Читать дальше →

Стратегия защиты NGINX и просьба к Игорю Сысоеву

Время на прочтение6 мин
Количество просмотров16K
С прошлой недели все сообщество бурлит насчет уголовного дела против NGINX. И, наверное, нет людей, которые бы равнодушно смотрели, как обычного сисадмина, который сумел превратить свое увлечение в выдающийся финансовый успех, пытаются прессовать акулы Российского капитализма в стиле лихих 90-х.

Я, как и большинство неравнодушных, глубоко симпатизирую Игорю. Да и на собственном опыте успел убедиться, что сделать прибыльным бизнес на свободном и открытом программном обеспечении ой как сложно. И это сложнее в сто крат без привлечения «волосатой лапы» и административного ресурса.

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

Тем более, если смотреть на ситуацию не предвзято, то существует некоторая вероятность, что Игорю и в самом деле могут пришить статью. Я отлично осознаю, что докопаться можно и до столба, но и просто сидеть, надеясь на царя батюшку или телефонное правосудие тоже не выход.

Поэтому я предлагаю обсудить/дополнить возможную стратегию защиты Игоря от нападок Рамблера. А может быть, материал данной статьи пригодится не только ему, но и другим разработчикам Свободного ПО, которые невольно могут оказаться в похожей ситуации.

Мне кажется это будет полезней, чем просто сменить свою аватарку на «Я/МЫ NGINX» :-)



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

Манифест об отмене 146 УК и бойкоте Сбербанка и правообладателей-паразитов. За опенсорс и Nginx

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

#nginxживи


#ЯМыNginx


#ЯМыСысоевКоновалов


  Астрологи объявили неделю жадных юристов в IT.
Количество правообладятлов увеличилось вдвое.

Когда они вводили реестр запрещенных сайтов, я молчал — что мне до педофилов и экстремистов?..


Когда они пришли за Богатовым, я молчал — я ведь не держал выходную ноду Tor.


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


Когда они собирали подписи на GitHub в поддержку Котова, я молчал — я не разделял его взглядов или не интересовался политикой (чего мне бояться, кому я нужен?).


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


… вы находитесь здесь...


Когда они ввели выездные визы для всех с зарплатой выше среднего, я...


Стоп. *звук ускоренной перемотки назад*


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

И как говаривали римляне, Qui prodest?

Хроника противостояния Рамблера и Nginx (обновлено 10 июня 2020)

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


12 декабря 2019 из твиттера сотрудника Nginx стало известно, что в офисе компании прошел обыск в рамках уголовного дела по статье 146 УК РФ «Нарушение авторских и смежных прав». Претензии предъявила компания Рамблер, хотя формально обвинителем стала Lynwood Investments CY Ltd, которой передали на это права. Последняя связана с совладельцем Rambler Group Александром Мамутом.

Вот как развивались события.
Читать дальше →

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

Корпорация F5 Networks рассылает своим клиентам письма, в которых информирует о текущей ситуации с NGINX

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

Reddit-пользователь m8r-1975wk, работающий в компании, которая сотрудничает с корпорацией F5 Networks, опубликовал письмо, пришедшее в рассылке от F5.

Рейтинг данного пользователя соответствует уровню обычного вменяемого участника reddit: карма его публикаций находится в пределах 1400, а карма комментариев — вблизи показателя 5700.
Читать дальше →

В 2011 году уже обсуждался вопрос, кому принадлежит Nginx — Игорю Сысоеву или «Рамблеру»

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

Примерно спустя десятилетие после начала работы над своим open-source-проектом Игорь Сысоев в июле 2011 года создал компанию «Nginx». К веб-серверу, ставшему к тому времени одним из самых популярных в мире, ожидаемо проявили интерес частные инвесторы и осенью того же года компания Сысоева привлекла инвестиции в размере 3 миллионов долларов. Треть акций компании приобрели фонды BV Capital, Runa Capital и MSD Capital.

В «Рамблере» тогда заявили, что не претендуют на эти деньги.
Читать дальше →

Мы поддерживаем культуру открытого кода и каждого человека, который ее развивает

Время на прочтение1 мин
Количество просмотров9.3K
Мы уверены, что открытый код — одна из основ быстрого развития технологий. Иногда такие решения становятся бизнесом, но важно, что труд энтузиастов и код, который находится в их основе, могут использовать и улучшать команды по всему миру.
Читать дальше →

Atlas Shrugged, или поворот не туда

Время на прочтение2 мин
Количество просмотров30K
image

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

Вряд ли Игорь думал в тот день, когда публиковал исходники в первый раз, что open source поможет ему стать долларовым миллиардером. Наверное не думал он и о том, как когда-нибудь однажды попадет в один ряд с другими отцами-основателями сети Интернет, такими как Тим Бернс Ли, Пол Бэран или Брюстер Кейл. А сбылось это: на сегодняшний день по данным Netcraft, число сайтов, обслуживаемых nginx, превысило 447 миллионов. И вы тоже можете использовать для своего сайта этот веб-сервер, это произведение современного искусства, причем совершенно бесплатно!

Поэтому в конечном итоге, деньги, которые Игорь Сысоев счастливым образом получил, были честно заработаны его собственными кровью и потом (а не на горе и страдании или рабском труде других людей), он их заслужил! Его Филдсовская или Нобелевская премия Мира если хотите…

В бизнесе всегда возникают конфликты и трения, его суть — в конкуренции. Но сейчас неопределенный круг вполне конкретных людей хочет не конкурента в честной рыночной борьбе победить, а хочет эта группировка заслуги Игоря Сысоева втоптать в грязь, обесценить, филантропа выставить вором, а его награду присвоить себе по праву силы. Причем сделать это пытаются не в порядке добросовестного заявителя — в арбитражном суде, а самым грязным способом в духе 90х, с привлечением ресурса силовых структур.
Читать дальше →

Позиция инженерной команды Okko по событиям, связанным с Nginx

Время на прочтение2 мин
Количество просмотров49K
Мы, инженерная команда Okko, полностью поддерживаем открытое ПО и в сегодняшней ситуации с Игорем Сысоевым выступаем на стороне IT-сообщества.

Как вы знаете, в прошедшие два года у Окко сменились акционеры, однако, до сих пор это не влияло на нашу работу, так как акционеры предоставляли нам свободу действий. История с NGINX стала полной неожиданностью для всех нас. Порция ненависти досталась заодно и нам, как онлайн-сервису, входящему теперь в Rambler Group.

Тем не менее, увольняться и бросать наш сервис, который мы строили без малого 10 лет, мы не хотим, и собираемся продолжать развивать его дальше. Причина этого — наша ответственность перед миллионами простых пользователей сервиса, 90% которых не знает даже, что такое веб-сервис, и наше огромное желание показывать им лучший футбол и фильмы.

Как уже сообщалось в СМИ, до конца года ожидается разбор ситуации среди акционеров, а мы пока с искренним волнением и болью следим за развитием ситуации и рассчитываем на благополучный ее исход во благо всего IT-сообщества. Искренне надеемся, что вы разберетесь в ситуации и не будете вымещать на нас и нашем сервисе Okko свою злобу и раздражение.
Читать дальше →

Рубикон пройден: nginx

Время на прочтение3 мин
Количество просмотров22K
11 марта 2019 года американская компания F5 Networks купила российскую компанию Nginx (зарегистрирована на Виргинских островах) за сумму около 670 миллионов долларов.

Судя по информации, которая есть в открытом доступе, компания Nginx с момента основания имела три раунда инвестирования примерно на сумму в 33 миллиона долларов, при этом все или почти все инвестиции шли от не российских компаний, а для продажи услуг была создана американская дочка Nginx Inc. Учитывая специфику российского open-source рынка, я думаю, что почти вся прибыль компании была от не российских клиентов. Таким образом получается, что российской компанию делало только гражданство основателя и территориальное расположение офиса разработчиков (г. Москва).

12 декабря 2019 года в московском офисе компании Nginx прошли обыски.

Скорее всего дело тут не в деньгах, хотя сумма весьма большая.
Читать дальше →

По мотивам событий с Nginx

Время на прочтение5 мин
Количество просмотров7.8K
В этот четверг случилось событие, которое всколыхнуло всё IT-сообщество: маски-шоу в офисе Nginx. Основателя Nginx, Игоря Сысоева можно назвать один из наиболее талантливых и ценных людей России, и если такое случилось с ним — такое может случиться с любым из нас. Эта статья породила огромное обсуждение в комментариях. Вот про это обсуждение и про реакции и будет идти речь. Что мы можем сделать, чтобы не допустить подобного и какие варианты обсуждались и какие реакции более эффективны. Итак, вот что обсуждалось:
Читать дальше →

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