Архив метки: php-fpm

Kubernetes: NGINX/PHP-FPM graceful shutdown – избавляемся от 502 ошибок

24 февраля 2021
 

 Имеется PHP-приложение, работает в Kubernetes в подах с двумя контейнерами – NGINX и PHP-FPM. Проблема: во время скейлинга приложения начинают проскакивать 502 ошибки. Т.е. при остановке подов – некорректно отрабатывает завершение подключений. Рассмотрим процесс остановки подов вообще, и особенности NGINX и PHP-FPM в частности. Тестировать будем приложение в AWS Elastic Kubernetes Service с помощью Yandex.Tank.… Читать далее »

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

5 ноября 2020
 

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

Linux: PHP-FPM, Docker, STDOUT и STDERR – нет логов приложения

17 февраля 2020
 

 Имеется Docker-образ, в который включены NGINX и PHP-FPM, плюс Supervisor для их запуска. В этот же образ включён код PHP-приложения, которое пишет ошибки PHP в /dev/stderr, как задано в php.ini: … [global] error_log=/dev/stderr … Проблема заключается в том, что при выполнении kubectl logs – в выводе этих данных нет. Где проблема? В Docker? Kubernetes? Linux… Читать далее »

PHP: PHP-FPM игнорирует переменные – решения

13 февраля 2020
 

 Имеется PHP приложение, которое для подключения к серверу баз данных использует дефолтные данные из файла /app/.env и переменные окружения. Проблема заключается в том, что приложение не видит переменную $TEST_VAR, хотя в шаблоне Kubernetes пода она задана: … containers: – name: application-dev-web image: bttrm-application:119 … – name: TEST_VAR valueFrom: secretKeyRef: name: bttrm-app-secret key: test_var … Значение… Читать далее »

PHP: кеширование PHP-скриптов – настройка и тюнинг OpCache

25 декабря 2019
 

 OpCache увеличивает производительность PHP сохраняя уже скомпилированные скрипты PHP в общей памяти, таким образом уменьшая работу для PHP-FPM, которому приходится меньше выполнять загрузку, чтение и обработку PHP при поступлении новых запросов. Workflow обработки новых запросов выглядит так: Исходный код проекта – тут>>>. Enable OpCache Редактируем php.ini файл, в данном примере это будет /etc/php/7.3/fpm/php.ini. Добавляем в… Читать далее »

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 Логинимся на сервер: [simterm]… Читать далее »

Prometheus: мониторинг PHP-FPM + Ansible роль

8 июня 2018
 

 Задача – собирать метрики с PHP-FPM /status. Используем lusotycoon/phpfpm-exporter. Кроме этого экспортёра есть bakins/php-fpm-exporter – но контейнер из его Docker образа постоянно возвращает “Empty reply from server“. Есть peakgames/php-fpm-prometheus – но для него нет Docker образа, а собирать свой не хочется. Имеется также hipages/php-fpm_exporter – но с ним возникли ошибки вида “Error scraping PHP-FPM: invalid character ‘A’ looking for beginning… Читать далее »

PHP-FPM: Process Manager – dynamic vs ondemand vs static

5 июня 2018
 

 Беглый обзор и примеры для настройки PHP-FPM Process Manager – dynamic, ondemand и static. Я не выполнял нагрузочного тестирования при использовании различных конфигураций, так что все выводы о применимости того или иного подхода чисто умозрительные. Тем не менее – тестирование проводиться, думаю, будет, по возможности – добавлю результаты отдельным постом. pm = dynamic Большинство HowTo… Читать далее »

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

16 мая 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… Читать далее »

NGINX: PHP-FPM – “Primary script unknown”

4 января 2017
 

 Часто при настройке нового виртуалхоста вылазит ошибка вида: … 2016/12/14 15:50:51 [error] 24586#24586: *850363 FastCGI sent in stderr: “Primary script unknown” while reading response header from upstream, client: 194.***.***.45, server: shop.domain.org.ua, request: “GET /index.php HTTP/1.1”, upstream: “fastcgi://unix:/var/run/shop.domain.org.ua-php-fpm.sock:”, host: “shop.domain.org.ua” …