Архив рубрики: NGINX

Вопросы, касающиеся работы web-сервера NGINX

NGINX: access лог — логгирование всех запросов, кроме 200

19 марта 2019
 

 Задача — логгировать все запросы, кроме 200 ответов. Подход с map можно использовать для совершенно разных вещей. Например — задавать условия по наличию заголовка, и потом перенаправлять на различные location — попозже, наверно, добавлю такой пример. Сейчас нас интересуют две возможности NGINX — «условное логгирование» для выбора условий, при которых будем заносить  события в журнал,… Читать далее »

NextCloud: установка сервера на Debian с NGINX и PHP-FPM, и клиента на Arch Linux

17 марта 2019
 

 После новости о том, что Dropbox вводит ограничение на 3 устройства — я таки созрел для установки NextCloud. Огорчил не сам лимит — у меня три устройства и используются, плюс оно повлияет только на новых пользователей (старые будут ограничены их текущим количеством устройств, а вот за дополнительные — придётся платить), сколько вообще введение подобных ограничений.… Читать далее »

Jenkins: HTTP full-duplex channel timeout

15 марта 2019
 

 При подключении к Jenkins с помощью Jenkins CLI — оно завершается с ошибкой. Т.е. в консоли ничего не выводится, но если после подключения выполнить echo $?, что бы вывести код последней команды — то там был, кажется, 255 ответ. Происходило пару дней тому, не записал в черновик. Подключение выглядит так: А в логах Jenkins-а —… Читать далее »

Prometheus: мониторинг для RTFM — Grafana, Loki и promtail

9 марта 2019
 

 После внедрения Loki на рабочем проекте — решил добавить его и себе. А заодно — добавить node_exporter и alertmanager, что бы получать уведомления, когда на разделах будет заканчиваться место. Обычно «Ссылки по теме» размещаю в конце поста, но тут стоит их добавить в начале. Для общего знакомства с Prometheus: Prometheus: мониторинг — введение, установка, запуск,… Читать далее »

Nexus: установка, запуск, деплой в репозиторий + NGINX и SSL

27 сентября 2018
 

 У Android-команды поломался «деплой» через отправку письма с вложением на Gmail (было сделано ещё до меня), и появилась необходимость быстренько «накостылить» репозиторий. Планировался он давно, но сейчас будет без всякой автоматизации — просто руками поднять, запустить, что бы они могли деплоить. Использовать будем free-версию Sonatype Nexus, запускать будем на AWS EC2, из Docker-образа, бекенд будет… Читать далее »

NGINX: gzip и ETag weak validation

20 сентября 2018
 

  ETag Собственно сам ETag является идентификатором ресурса, запрошенного клиентом (браузером): если изменений нет, то etag не меняется, если изменения были — изменится и его etag. См. тут>>>, тут>>> и тут>>>. Пример его работы — проверяем URL: Теперь добавляем —header If-None-Match, в котором передаём значение из полученного ETag — и NGINX вернёт нам код 304 Not Modified: В… Читать далее »

AWS: миграция RTFM 3.0 (final) — CloudFormation и Ansible роли

25 августа 2018
 

 Прошёл почти год, как я начал миграцию v2, закончил на посте Ansible: миграция RTFM 2.11 – хост Services – установка PHP, PHP-FPM. Основной её идеей на тот момент было максимально использовать возможности AWS и Ansible — чисто из интереса и для практики, т.к. на предыдущем месте работы её было совсем мало (там в основном был Azure… Читать далее »

AWS: 502 ошибка на Application Load balancer

10 августа 2018
 

 Имеется ALB, на который постоянно срабатывает Alertmanager с ошибкой 502: В CloudWatch видно, что ошибка возникает спорадически, и только один раз: При этом в логах NGINX никаких ошибок нет Первым делом — включаем логи ALB: Не то что бы они чем-то реально помогли — но по крайне мере теперь можно увидеть ошибку «вживую» : 52.***.***.142… Читать далее »

Prometheus: nginx_exporter и сбор метрик с NGINX

19 июля 2018
 

 Имеется два експортёра для NGINX — discordianfish/nginx_exporter и hnlq715/nginx-vts-exporter. Второй предоставляет больше возможностей, но мне сейчас нужны самые базовые, поэтому использую discordianfish/nginx_exporter. NGINX status Сначала — добавим /nginx_status в NGINX. Проверяем — собран ли NGINX со статус-модулем: Я добавил отдельный конфиг /etc/nginx/conf.d/status.conf с default_server, который принимает запросы на статус: server {     charset utf-8;     listen 80 default_server;     server_name _;     location /nginx_status {         stub_status on;         access_log off;         allow 127.0.0.1;         deny all;… Читать далее »

Ansible: проверить конфигурацию NGINX перед рестартом

13 июля 2018
 

 Имеется роль nginx, в которой выполняется его настройка и копирование файлов. Последней задачей роли выполняется nginx restart. Проблема заключается в том, что попытка перезапуска NGINX выполняется в любом случае, и если в файле шаблона виртуалхоста есть ошибка — то NGINX не запустится. Что бы выполнить проверку — nginx -t — добавляем задачу с вызовом модуля… Читать далее »