Category Archives: NGINX

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

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

19 July 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;… Read More »

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

13 July 2018
 

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

NGINX: реальный IP в логах при работе за AWS Load Balancer

9 July 2018
 

 Есть NGINX, который работает за AWS Application Load Balancer-ом (ALB). Проблема заключается в том, что в логах NGINX пишется IP самого ALB, а не клиента: 10.0.2.26 – – [06/Jul/2018:10:30:50 +0300] “GET /debug/ HTTP/1.1” 404 133 “-” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36” Что бы исправить это – добавляем… Read More »

Jenkins: It appears that your reverse proxy set up is broken / Есть подозрение, что настройки вашего обратного прокси некорректны.

6 July 2018
 

 Перед Jenkins запущен NGINX + SSL. После запуска – Jenkins сообщает, что “Есть подозрение, что настройки вашего обратного прокси некорректны.“: Описание ошибки есть на Jenkins Wiki. Настройки виртуалхоста сейчас выглядят так: upstream jenkins { server 127.0.0.1:8080; } … server { listen 443 ssl; server_name ci.domain.world; … location / { proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP… Read More »

AWS: CloudWatch logs – сбор и мониторинг логов

19 May 2018
 

 AWS CloudWatch Logs – сервис для сбора и мониторинга логов с EC2, CloudTrail и Route53. На сегодняшний день сбор логов можно выполнять двумя способами: старый CloudWatch Logs agent: занимается сбором логов новый, Unified CloudWatch Agent: объединяет в себе SSM агент и CloudWatch Logs agent, умеет собирать как метрики инстансов, так и логи. См. Amazon CloudWatch introduces a new… Read More »

AWS: тестируем производительность NGINX, PHP-FMP и MariaDB локально и на разных хостах

16 May 2018
 

 В посте Ansible: миграция RTFM 2.11 – хост Services – установка PHP, PHP-FPM я закончил на том, что надо протестировать работу связки NGINX+PHP-FPM+MariaDB для WordPress при использовании AWS EFS для файлов сайта. Ниже результаты проверки при следующих вариантах использования NGINX + PHP-FPM: NGINX, PHP-FPM и MariaDB установлены локально, общаются через UNIX-сокет NGINX, PHP-FPM и MariaDB… Read More »

Prometehus: обзор – federation, мониторинг Docker Swarm и настройки Alertmanager

9 April 2018
 

 Задача – настроить Proof of Concept мониторинга, используя Prometheus, что бы показать основные его возможности. Используется Prometheus 2.2.1 (между 1.* и 2.* существенные различия в синтаксисе). Чего не добавлено в этот пост – это работа с Prometheus API, и хотелось подробнее остановиться на Grafana и её шаблонах, но уже отдельным постом. Кроме того, в самом тексте… Read More »

What is: Load Balancing – алгоритмы

27 February 2018
 

 Основной задачей балансировщика является определение того, какой из серверов из бекенд-пула может наиболее эффективно обработать входящий пакет данных. Для этого у балансировщика (Load Balancer, LB) имеется несколько алгоритмов, наличие и возможность применения которых зависит от типа LB и его настроек. Основное различие алгоритмов – это уровень их применения: 7-ой, Application (уровень приложения), 4-ый, Транспортный уровень… Read More »

Ansible: миграция RTFM 2.10 – Let’s Encrypt, NGINX SSL, hostname и exim

10 February 2018
 

 Предыдущий пост серии – Ansible: миграция RTFM 2.9 – монтирование EBS и настройка NGINX на Bastion. Сегодня надо выполнить установку и настройку: Let’s Encrypt SSL на NGINX и виртуалхоста (пока только dev.rtfm.co.ua) hostname exim Ссылки на коммиты файлов, получившиеся в результате написания этого поста: roles/letsencrypt/tasks/main.yml rtfm-blog-ansible-bastion-provision.yml roles/nginx/templates/nginx.conf hosts roles/common/tasks/main.yml roles/exim/templates/update-exim4.conf.conf.j2 roles/exim/templates/mailname.j2 roles/exim/tasks/main.yml

Ansible: миграция RTFM 2.9 – монтирование EBS и настройка NGINX на Bastion

3 February 2018
 

 Предыдущий пост серии – Ansible: миграция RTFM 2.8 – logrotate, unattended-upgrades и Let’s Encrypt для Bastion хоста. Сейчас Bastion запущен и настроен, сегодня надо выполнить настройку NGINX. Как и прежние посты этой серии – это скорее заметки для себя по выполненным обновлениям плюс примеры настроек и действий. План таков: обновить роль common и добавить монтирование диска… Read More »