Tag Archives: nginx

NGINX: Amplify – SaaS мониторинг от NGINX

01/23/2018
 

 NGINX Amplify – сервис для полноценного мониторинга NGINX и его рабочего окружения. Умеет рисовать графики, отправлять уведомления о проблемах и даже подсказывать некорректные настройки хостов. Суть работы весьма простая: регистрируемся на сайте сервиса, устанавливаем Amplify агент, получаем данные. Бесплатен с определёнными ограничениями (5 агентов, 10 алертов и т.д.). На момент написания был доступен для Amazon Linux,… Read More »

Prometheus: Ansible, NGINX и Grafana dashboard

10/23/2017
 

 Продолжаем с Prometheus… Последней задачей было Azure: подключение volume – ARM, Ansible и данные Prometheus. Теперь – добавим Grafana для визуализации данных. Надо – обновить docker-compose файл, добавить запуск контейнера с Grafana, и в самой Grafana – настроить backend, что бы она получала данные с Prometheus сервера. Кроме того – надо обновить NGINX (в нём в блоге не… Read More »

Ansible: пример установки NGINX

09/20/2017
 

 Задача – установить NGINX на удалённый хост с помощью Ansbile. Подготовка На рабочей машине – устанавливаем Ansible: В Jenkins – будем использовать Docker образ (или плагин). Проверяем: Создание Inventory Пока есть только один Dev сервер, позже добавим Production. Документация по Ansbile Inventory – тут>>>. В корне репозитория создаём каталоги: Переходим в него, и создаём файл hosts в… Read More »

Monit: мониторинг и перезапуск NGINX

08/11/2017
 

 Домашняя страница проекта – тут>>>, документация – тут>>>. Имеется сервис с двумя виртуальными машинами в Azure VMSS. Если для Dev ещё можно использовать решение типа C: “мониторинг” NGINX с помощью AF_INET, то для Production – используем Monit. Пример тестовой установки в NGINX в Vagrant-боксе.

C: “мониторинг” NGINX с помощью AF_INET

08/08/2017
 

 В продакшене мы будем использовать что-то вроде Monit, а для Dev – решил написать маленькую утилиту, которая проверяет доступность NGINX и отправляет письмо при проблемах. Программа содержит две рабочие функции – socket_get(), которая с помощью connect()  пытается подключиться к порту NGINX (AF_INET сокету), и send_alarm(), которая с помощью system() выполняет mailx для отправки сообщений. Отправку… Read More »

NGINX: установка на Ubuntu на EC2 с EBS

08/01/2017
 

 Задача – запустить EC2 в China AWS, с NGINX. Данные будут храниться на внешнем EBS-диске. Подготовка сервера Обновляем систему: # apt update && apt upgrade Машина – EC2, с подключенным EBS диском: /dev/xvdb необходимо смонтировать в каталог, из которого NGINX будет подгружать файлы настроек и данные сайта.

Linux: systemd, NGINX, разделы и порядок загрузки

07/26/2017
 

 Имеется сервис, в котором работает NGINX и раздел /data, который монтируется при старте интанса как общая файл-шара для машин в VMSS. Подробнее – в посте Azure: VMSS за Load Balancer, renew SSL от Let’s Encrypt, SMB file share и NGINX-proxy. Проблема в том, что сертификаты и файлы настроек NGINX хранятся на подключаемом SMB-разделе, и запуск NGINX происходит того,… Read More »

Azure: VMSS за Load Balancer, renew SSL от Let’s Encrypt, SMB file share и NGINX-proxy

07/19/2017
 

 Продолжаем танцевать с проектом на Azure. Описание самого проекта можно найти в посте Azure: CDN, NodeJS, Docker Swarm и Blue-Green деплой. Сейчас имеется одна виртуальная машина, на которой работает NGINX, выполняющий роль прокси для всех доменов и всех сервисов проекта. Изначально – этот прокси планировался для двух WordPress сайтов проекта, и никоим образом не для того,… Read More »

NGINX: динамический upstream

04/12/2017
 

 Имеется upstream в NGINX-е: … upstream jm-website-test { server jm-website-test.trafficmanager.net; } … Проблема заключается в имени – jm-website-test.trafficmanager.net, значение которого меняется во время деплоя в зависимости от активного ендпоинта на Azure Traffic Manager:

NGINX: бан User Agent

03/23/2017
 

 Клиент жалуется на спам от Website-analytics.online, который является ссылкой на сервис ranksonic.org и ranksonic.com. Гуглим запрос “ranksonic.org user agent“, первая ссылка ведёт на https://ranksonic.com/ranksonic_bot.html, где указан User Agent: … User-agent: RankSonicBot … Правим файл настроек виртуалхоста, и добавляем правило: … if ($http_user_agent ~* (RankSonicBot) ) { return 403; } … Готово. Полный список переменных для NGINX есть тут>>>.