Архив рубрики: Web servers

Веб-сервер — сервер, принимающий HTTP-запросы от клиентов, обычно веб-браузеров, и выдающий им HTTP-ответы, как правило, вместе с HTML-страницей, изображением, файлом, медиа-потоком или другими данными.

Linux: настройка LEMP — NGINX, PHP, MySQL, SSL, мониторинг, логи, и миграция RTFM

5 ноября 2020
 

 Собрался наконец-то перенести RTFM на Debian 10, решил делать без автоматизации — будем поднимать стандартный LEMP для хостинга WordPress руками. Что-то похожее последний раз писалось в 2016 — Debian: установка LEMP — NGINX + PHP-FPM + MariaDB, в этот раз получился более полный обзор процесса. Также, когда-то делал автоматизацию для настройки сервера под RTFM, но последний… Читать далее »

Nextcloud: запуск в Docker Compose на Debian с SSL от Let’s Encrypt

27 ноября 2019
 

 Недавно потестировал Nexcloud вообще, см. NextCloud: установка сервера на Debian с NGINX и PHP-FPM, и клиента на Arch Linux — в целом понравилось, работает — можно попробовать мигрировать с Dropbox на него. Сегодня запустим Nextcloud полностью в Docker, на сервере с Debian 10 в Digital Ocean. К серверу подключён отдельный диск, на котором будут все… Читать далее »

HTTP: редиректы, POST и GET запросы, и «потерянные» данные

23 ноября 2019
 

 Имеется приложение, которое должно принимать данные через POST-запросы от клиентов. Перед этим приложением имеется некий прокси, не важно какой — AWS Application Load Balancer, NGINX или любой другой. Мы изначально столкнулись с проблемой на AWS ALB, потом я начал тестить на NGINX, что бы искючить влияение самого AWS-сервиса — воспроизводится везде, т.к. не зависит от… Читать далее »

Kubernetes: знакомство, часть 2 — создание кластера с AWS cloud-provider и AWS LoadBalancer

10 августа 2019
 

 В первом посте — Kubernetes: знакомство, часть 1 — архитектура и основные компоненты, обзор — были рассмотрены основные компонены, теперь время применить их на практике. Продолжение — Kubernetes: знакомство, часть 3 — обзор AWS EKS и ручное создание кластера. Следующим, что очень хотелось потрогать — это интеграция Kubernetes с AWS и работа с сетью: создать веб-сервис,… Читать далее »

NGINX: limit_req — ограничение количества запросов

9 августа 2019
 

 Задача — установить лимит количества запросов с одного IP: добавить rate limiter на URI /user/oauth/refresh_token число запросов — 5 в минуту с одного IP если запросов больше — возвращаем 429 Too Many Requests Используем NGINX и его модуль ngx_http_limit_req_module. limit_req_zone Для работы «лимитера» — следует создать зону, в которой будут хранится данные (а именно —… Читать далее »

NGINX: мульти-бранч деплой приложения с использованием NGINX map и HTTP Headers

26 июня 2019
 

 Имеется стандартный LEMP — NGINX, PHP-FPM. Приложение — Yii-фреймворк, который деплоится из Jenkins Ansible-ролью с помощью модуля synchronize на хосты в каталог /data/projects/prjectname/frontend/web, который является root в конфиге виртуалхоста NGINX. Задача: создать возможность деплоя из Jenkins приложения из разных бранчей — на хосте одновременно должны быть задеплоены разные версии приложения, доступ к которым будет определяться… Читать далее »

Bitwarden: менеджер паролей организации — установка self-hosted версии на AWS EC2

1 мая 2019
 

 Мы рассматриваем Bitwarden как менеджер паролей для проекта, основная цель которого — разделение доступа к различным секретам по ролям и/или ACL. Т.е. Pass и/или KeePass — это хорошо для одного пользователя, но у них нет главного — нормального веб-интерфейса, и разделения доступа к секретам для пользователей, а всякие 1Password/LastPass не имеют возможности установки на свой… Читать далее »

TestRail: QA Test Case Management система — установка на Linux

22 марта 2019
 

 TestRail — Test Case Management Software for QA and Development Teams. Собственно — этого достаточно для описания) Ниже — описание процесса его установки на Debian с NGINX, Let’s Encrypt, PHP-FPM, MariaDB и Exim. Домашняя страница проекта — www.gurock.com/testrail Документация по установке — тут>>>. Устанавливать будем на AWS EC2. LEMP и SSL Логинимся на сервер: Обновляем… Читать далее »

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

19 марта 2019
 

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

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

17 марта 2019
 

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