nginx

Истории - 1 день назад

Переехал в Польшу, потом — в Португалию, а вещи приходилось раздавать: как я разработал собственный маркетплейс

«Много переезжал и не знал, куда девать вещи»: как я разработал собственный маркетплейс

Highload продолжает публиковать истории о pet-проектах, вошедших в топ-20 лучших по итогам голосования наших читателей. Параллельно эти проекты оценивает жюри из опытных разработчиков и инвесторов. Победителей конкурса мы планируем объявить 10 июля.

Back-end - 2 месяца назад

Consul и Nginx: как облегчить поддержку микросервисной архитектуры

Дмитрий Гурдуз

Software Engineer в Jooble

Когда мы в Jooble решили перейти на использование микросервисной архитектуры в своих проектах, перед нами встал вопрос: как организовать коммуникацию между этими микросервисами и не превратить это в производственный ад?

Highload - 5 месяцев назад

Правильная конфигурация Nginx

Наткнуться на подводные камни в конфигурации и работе веб-сервера очень легко. Но трудно понять причину некорректной или не всегда корректной/ошибочной работы, если все правила соблюдаются.

Highload - 5 месяцев назад

nginx.conf

nginx.conf — конфигурационный файл Nginx. Чтобы его найти нужно выполнить команду:

Highload - 5 месяцев назад

Cache-control с динамикой

Заголовок Cache-control позволяет значительно увеличить скорость загрузки сайта, а также разгрузить канал между сервером и пользователем. Этот заголовок включает кэширование и просто в применении для файлов, которые никогда не меняются. Но для того, чтобы использовать это преимущество для файлов, которые могут меняться, нужно детальнее разобраться в клиентском кэшировании:

Highload - 5 месяцев назад

Кэширование с Nginx

Nginx умеет кэшировать запросы самостоятельно. Преимущества использования Nginx cache в его простоте по сравнению с Varnish.

Highload - 6 месяцев назад

Scaling приложения на Python/Django

За более, чем 20 лет существования, Python обзавелся толпой фанатов, большим количеством модулей для всех популярных платформ и множеством Фреймворков. Среди последних заслуженной популярностью пользуется Django, который используется в Instagram, Disqus, Mozilla, Pinterest. Их опыт показывает, что Django справляется с высочайшей нагрузкой и подходит для масштабирования проектов.

Highload - 6 месяцев назад

Сбор метрик из Nginx’a в Clickhouse

Запись данных в Clickhouse (и другие векторные базы) может достигать производительности в миллионы строк в секунду. Для этого важно писать данные крупными пакетами (сотни тысяч…миллионы строк в пакете).

Highload - 7 месяцев назад

Оптимизация изображений с WebP

Минификация и сжатие уже давно стали вполне стандартными вещами для оптимизации кода веб-страниц. Все популярные веб-ресурсы оптимизируют изображения, используют все тот же CSS, когда это возможно, и выбирают правильные форматы картинок.

Highload - 7 месяцев назад

Оптимизация Web сервера

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

Highload - 8 месяцев назад

Как включить GZIP в Nginx?

Gzip текстовых файлов (JS/CSS/HTML) позволяет существенно уменьшить объемы данных, которые будет получать посетитель сайта. Сжатие поддерживают все современные браузеры, поэтому включать его нужно обязательно:

Highload - 8 месяцев назад

Ошибка 502 bad gateway в Nginx

Ошибка 502 Bad Gateway означает, что Nginx не может получить ответ от какого-то сервиса. Gateway означает, что ошибка произошла не внутри самого сервера, а где-то на уровне связи между ним и другой программой.

Highload - 9 месяцев назад

Как сделать 301 редирект в Nginx?

Для того, чтобы сделать Nginx redirect 301 необходимо использовать rewrite правило с permanent в конце:
server {

Highload - 9 месяцев назад

Оптимальная настройка Nginx

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

Highload - 9 месяцев назад

Превью картинок с ngx_http_image_filter_module

Зачастую на мультимедийных сайтах существует задача выдавать картинки (часто пользовательское фото) в различных размерах (thumbnails). Причем, в большинстве случаев приходится поддерживать несколько размерных версий картинок (например, пользовательское фото vkontakte.ru имеет 3 различные размерные версии).

Highload - 9 месяцев назад

Let’s Encrypt для шифрования соединения в Nginx

Let’s Encrypt – бесплатный, открытый и автоматизированный центр сертификации, который уже выдал [https://letsencrypt.org/stats/ более 5 млн сертификатов]. Основные преимущества включают:

Highload - 9 месяцев назад

NginScript на практике

NginScript — это среда выполнения JavaScript в Nginx. Его парсер в настоящее время поддерживает ECMAScript 5 (обещают в будущем расширить поддержку). Имеется компилятор внутреннего байткода, который затем выполняется в Nginx каждый раз, когда вызывается JavaScript. Для этого используется виртуальная машина на основе регистров.

Highload - 10 месяцев назад

Распределенный кеш на основе Nginx и proxy_cache

При использовании кеширования место на диске рано или поздно закончится. В таком случае обычно используют очистки кеша. Например, удалять все файлы, которые на запрашивались больше 7 дней. В Nginx это настраивается так:

Highload - 11 месяцев назад

Логи error_log и access_log в Nginx

Файлы логов — первое место, где нужно искать ошибки. Особенно если это касается веб-сервера. В Nginx всего два основных лога: error_log и access_log.

Highload - 11 месяцев назад

Анализ и оптимизация времени TTFB

В широком смысле, TTFB — это метрика, которая показывает время до получения первого байта (сетевого пакета) веб-страницы после отправки запроса со стороны клиента.

Highload - 11 месяцев назад

Ошибка 500 Internal Server Error

В большинстве случаев ошибка Internal Server Error вызвана неверной конфигурацией Nginx. Так что используйте лучшие практики по настройке веб-сервера. И не забудьте включить логирование ошибок – обычно Nginx подсказывает причину ошибку в журнале.

Highload - 11 месяцев назад

Zabbix и Munin для сбора статистики Nginx

Профилирование и мониторинг крайне важны для стабильной работы высоконагруженной системы. Кроме логов ошибок и запросов, Nginx имеет собственный модуль статистики [https://nginx.org/ru/docs/http/ngx_http_stub_status_module.html ngx_http_stub_status_module] с базовыми данными о работе веб-сервера.

Highload - 11 месяцев назад

Конфигурация nginx + php 7

Сначала необходимо убедиться, что nginx и php7 fpm установлены:

Highload - 1 год назад

Ошибка 504 Gateway Timeout в Nginx

Ошибка 504 gateway time-out возникает, когда Nginx не может достаточно долго получить ответ от какого-либо сервиса. Например от PHP-FPM.

Highload - 1 год назад

Ошибка 413 Request Entity Too Large

Ошибка HTTP 413 (Request Entity Too Large Error) означает, что клиент отправил слишком большой запрос на сервер. В Nginx максимальный размер запроса регулируется таким параметром:

Highload - 1 год назад

Ошибка upstream timed out в Nginx

Практика показывает, что ошибка upstream timed out (110: Connection timed out) может возникать в двух случаях. Причем название самой ошибки указывает на решение — необходимо увеличить время ожидания в настройках веб-сервера.

Highload - 1 год назад

Ошибка 400 Bad Request в Nginx

Ошибка 400 Bad Request возникает, когда клиент отправляет на Nginx неверный запрос. Это случается когда размер заголовков запроса больше допустимого предела. Например, браузер отправляет слишком много Cookies.

Highload - 1 год назад

Сжатие gzip для js/css/html

Современные браузеры поддерживают сжатый контент, т.к. он является частью спецификации протокола HTTP 1.1. Сжатие текстовых форматов (CSS, Javascipt и HTML) может уменьшить их объем на 70%. Работает все очень просто. Перед отправкой ответа сервер сжимает данные. Браузер при получении сжатого ответа разжимает его и показывает результат.

Highload - 1 год назад

Архитектура высоких нагрузок

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

Highload - 1 год назад

Unix сокеты c Nginx и PHP

Если вся Ваша связка nginx/php работает на одном сервере, лучше использовать unix-сокеты вместо tcp-сокетов для работы:

Highload - 1 год назад

Кэширование статики и cache-control

Клиентское кэширование — это способность браузера сохранять локально файлы, чтобы не делать к ним повторных обращений. Это очень полезно для картинок и CSS/Javascript файлов. Когда человек переходит по страницам браузер постоянно будет запрашивать одни и те же файлы, если не использовать механизм кэширования на браузере.

Highload - 1 год назад

Оптимизация TLS в NGINX

TLS (он же Transport Layer Security) – протокол защиты веб-страниц, который заменил собой SSL. По сути TLS = SSL и является следующим поколением (версией) устаревшего и подверженного POODLE-атакам стандарта.

Highload - 1 год назад

Как перезапустить nginx?

Существует два способа перезапуска Nginx’a после обновления конфигурационного файла nginx.conf:

Highload - 1 год назад

Как использовать Cache-control в Nginx?

Заголовок Cache-control позволяет сохранить определенные файлы с сайта в кеше браузера, чтобы при повторном обращении браузер использовал кеш вместо запроса к сайту. Это позволяет значительно увеличить скорость загрузки сайта для людей, которые смотрят более одной страницы.

Highload - 1 год назад

Как настроить Nginx для WordPress?

Правильная настройка Nginx’a может существенно увеличить производительность сайта, работающего на WordPress’e. Этот конфиг нужно положить в папку nginx/sites-enabled (в Debian’e – /etc/nginx/sites-enabled):