Рубрика «nginx» - 30

Свободу поиску из Skype! Как, благодаря nginx, можно просто подменить домен и гуглить прямо из чата, а не бингать.

Подменяем в Skype поисковик Bing на нужный - 1
Читать полностью »

Есть такое известное выражение: «Во времена золотой лихорадки можно искать золото, а можно продавать кирки и лопаты» («You can mine for gold or you can sell pickaxes»).

Кирки и лопаты — это, по сути, инструменты для разработчиков, технологии, которые позволяют создавать новые продукты путём сборки из готовых элементов и упаковки, Читать полностью »

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

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

Пулы потоков: ускоряем NGINX в 9 и более раз - 1

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

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

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

image
Совсем недавно в разгар рабочего дня от клиента к нам поступила тревожная информация о том, что их сайт подвергается XSS/SQL атакам, часть из которых была успешной. Необходимо было срочно принять меры и настроить базовую защиту в течение нескольких часов, т.к. возможности быстро найти и устранить несовершенства кода у разработчиков не было.

После недолгих раздумий выбор пал на firewall веб-приложений для nginx под названием naxsi, который технически является модулем nginx.Читать полностью »

А зачем?

image

Возможно вы уже знакомы с таким продуктом, как «1С-Битрикс: Веб-окружение» — Linux. Очень часто это идеальное решение для проектов на базе CMS «Битрикс», но, иногда, чисто «консольное» меню не обладает необходимым функционалом для людей, работающими над проектами.

Для примера, другой популярный продукт — ISPmanager, позволяет создавать FTP аккаунты из удобной веб-панели для администраторов всего за пару кликов мышкой, в то время как из консоли вам необходимы навыки администратирования Linux. Порой просто хочется управлять своим сервером и проектами из вкладки в браузере, без помощи ssh консоли.

Однако, ISPmanager, в нашем случае его последняя версия под номером пять, не готов «из коробки» работать с сайтами на Битрикс, не говоря уже о Битрикс24, корпоративных порталах. Часть функционала недоступна, проекты работают довольно медленно. Приходится долго время изучать рекомендации из документации по Битриксу, которая, к сожалению, иногда сильно запаздывает с обновлением актуальной информацией.

В связи с необходимым требованием работать с проектами через "user-friendly" интерфейс ISPmanager 5 и не потерять в скорости и функционале проектов, было принято решение о неком «скрещивание» этих двух систем.

Читать полностью »

Администрирование глазами C++ программиста - 1 Продолжаем цикл пятничных статей "X глазами C++ программиста" (1, $$). В этот раз под катом вас ждут впечатления заядлого С++ программиста от мира администрирования. Боль, страдания, радости и прочие эмоции как всегда вынесены под спойлеры.

Надеюсь будет интересно профессиональным администраторам посмотреть на потуги С++ника, ну а С++ разработчикам узнать для себя что-то новое.
Читать полностью »

Недавно вспомнилось мне, что есть такой сервис — StartSsl, который совершенно бесплатно раздаёт trusted сертификаты владельцам доменов для личного использования. Да и выходные попались свободные. В общем сейчас напишу, как в nginx настроить HTTPS, чтобы при проверке в SSL Labs получить рейтинг А+ и обезопасить себя от последних багов с помощью выпиливания SSL.
Итак приступим. Будем считать, что у вы уже зарегистрировались на StartSsl, прошли персональную проверку и получили вожделенный сертификат. Для начала я опубликую итоговый конфиг, а после этого, разберу его.
Читать полностью »

image

Хочу поделиться опытом создания текстового чата на основе nginx-push-stream-module модуля Nginx, PHP и Javascript. Этот модуль функционирует по принципу long polling и может быть использован как для обмена мгновенными сообщениями между пользователями, так и для системы push–уведомлений.
Читать полностью »

Наша компания занимается созданием Интернет-магазинов запчастей на собственной SaaS-платформе (ABCP.RU), а также у нас есть несколько связанных проектов, например, сервис поиска запчастей 4MyCar.ru.
Как и многие другие веб-проекты, мы в своё время пришли к пониманию необходимости геолокации по IP-адресу. Например, сейчас она используется на 4MyCar.ru для определения региона (при первом входе на сайт регион автоматически устанавливается именно так).

Сага о геолокации и как сделать гео-вебсервис без движка базы данных и без программирования - 1

Аналогично производится выбор ближайшего к клиенту филиала магазина на сайтах клиентов платформы ABCP.

Читать полностью »

Посещая форум поддержки панели VestaCP, заметил, что часто пользователи спрашивают, как создать поддомен в VestaCP.

На самом деле, это очень просто. Для начала нужно зайти в саму панель:
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js