SITEGUARD JOURNAL

Блог

О стабильной работе сайтов, мониторинге и защите от неожиданных сбоев.

12 мин чтения

OOM Killer завершает процессы сайта: как подтвердить нехватку памяти Linux

Как подтвердить OOM по журналам Linux, связать PID со службой, различить cgroup и systemd-oomd, оценить пики памяти и проверить исправление под нагрузкой.

Читать статью : OOM Killer завершает процессы сайта: как подтвердить нехватку памяти Linux

12 мин чтения

Too many open files в Nginx: как проверить лимиты соединений и дескрипторов

Почему Nginx пишет Too many open files: как различить EMFILE и ENFILE, проверить лимиты воркеров, systemd и worker_connections, рассчитать запас дескрипторов.

Читать статью : Too many open files в Nginx: как проверить лимиты соединений и дескрипторов

12 мин чтения

В логах сайта один IP вместо посетителей: как настроить real IP за прокси

Как вернуть IP посетителей в логи Nginx за прокси: доверенные адреса, real_ip_recursive, X-Forwarded-For, Cloudflare и проверка поддельных заголовков.

Читать статью : В логах сайта один IP вместо посетителей: как настроить real IP за прокси

12 мин чтения

MySQL server has gone away: как найти причину разрыва соединения

Как найти причину MySQL server has gone away: таймауты, пул соединений, размер пакета, перезапуск и сеть. Как проверить результат записи после разрыва.

Читать статью : MySQL server has gone away: как найти причину разрыва соединения

12 мин чтения

Как найти медленные SQL-запросы сайта через MySQL Slow Query Log

Как включить MySQL Slow Query Log, найти медленные SQL-запросы сайта, сравнить частоту и время, проверить план выполнения и оценить результат оптимизации.

Читать статью : Как найти медленные SQL-запросы сайта через MySQL Slow Query Log

12 мин чтения

Deadlock и Lock wait timeout в MySQL: почему зависают операции сайта

Почему операции сайта ждут блокировки MySQL: различия deadlock и lock wait timeout, границы отката, поиск блокирующей транзакции и безопасный повтор без дублей.

Читать статью : Deadlock и Lock wait timeout в MySQL: почему зависают операции сайта

12 мин чтения

Кракозябры вместо русского текста: как проверить кодировки сайта и MySQL

Кракозябры на сайте и в MySQL: как проверить HTTP-charset, байты через HEX, соединение PHP, utf8mb4 и импорт, отличить неверное отображение от потери текста.

Читать статью : Кракозябры вместо русского текста: как проверить кодировки сайта и MySQL

12 мин чтения

Redis удаляет ключи или отвечает OOM: как проверить maxmemory и eviction

Как проверить maxmemory, расход памяти и eviction Redis, отличить TTL от вытеснения, рассчитать запас RAM и безопасно спланировать восстановление приложения.

Читать статью : Redis удаляет ключи или отвечает OOM: как проверить maxmemory и eviction

12 мин чтения

На сайте неверное время заказов: как согласовать PHP, MySQL и часовой пояс

Как найти неверное время заказов: проверить PHP и сессию MySQL, различить DATETIME и TIMESTAMP, согласовать UTC, отображение и историю без опасного сдвига данных.

Читать статью : На сайте неверное время заказов: как согласовать PHP, MySQL и часовой пояс

12 мин чтения

Изменения .env не работают в Laravel: как проверить кэш конфигурации

Почему изменения .env не работают в Laravel: проверка окружения, config:cache, очередей, Octane и сборки Vite. Как подтвердить настройку без раскрытия секретов.

Читать статью : Изменения .env не работают в Laravel: как проверить кэш конфигурации

12 мин чтения

Headers already sent в PHP: почему не работают cookies и перенаправления

Как исправить headers already sent в PHP: найти первый вывод, BOM и предупреждения, проверить буферизацию, перенаправление и получение cookie браузером.

Читать статью : Headers already sent в PHP: почему не работают cookies и перенаправления

12 мин чтения

Hreflang: как связать языковые версии сайта и проверить ошибки

Как настроить hreflang для языковых версий сайта: выбрать коды, связать переводы, согласовать canonical и x-default, проверить ссылки и удаление перевода.

Читать статью : Hreflang: как связать языковые версии сайта и проверить ошибки