GoAccess – один из инструментов формирования сводного отчета в формате HTML по логам веб-сервера. По сути это инструмент командной строки, который принимает на вход содержимое логов и формирует из них html файлик с отчетом, который удобно просматривать. Чтобы отчеты формировались без нашей помощи, необходим скрипт автоматизации, который можно запускать по расписанию. Под катом скрипт с описанием.
Continue ReadingMySQL с настройками по умолчанию потребляет много памяти. Более 500 мегабайт на чистой установке может уходить на поддержание performance_schema
. Если на хостинге/виртуалке мало памяти, и проект не критичный, то это можно отключить пожертвовав данной функциональностью MySQL и высвободить приличный объем памяти. Но не стоит этого делать для критически важных проектов в энтерпрайзе!
В конфигурационном файле my.cnf
, а лучше в отдельном кастомном файле в conf.d
, в секцию [mysqld]
добавить следующую настройку:
[mysqld]
performance_schema = 0
Так же, если бинлоги съедают много места на диске с ограниченным пространством, можно уменьшить время хранения бинлогов:
[mysqld]
binlog_expire_logs_seconds = 259200
Директории и файлы
sudo du -a / 2>/dev/null | sort -nr | head -n 20
Только директории
sudo du / 2>/dev/null | sort -nr | head -n 20
Только файлы
sudo find / -type f -printf '%s %p\n' 2>/dev/null | sort -nr | head -20
Установка размера хранимых логов
Отредактировать файл /etc/systemd/journald.conf
:
SystemMaxUse=100M
И перезагрузить службу journald
:
systemctl restart systemd-journald
Использование пароля в командной строке, например, при запуске резервного копирования по cron, небезопасно. Так же это вызывает предупреждение mysql:
Using a password on the command line interface can be insecure
Чтобы избежать этого, можно добавить логин и пароль пользователя mysql в конфигурационный файл пользователя unix. Для пользователя, от имени которого будут создаваться бэкапы, необходимо отредактировать файл .my.cnf
в домашнем каталоге. Если его ещё нет, то его нужно создать с правами доступа 600
:
touch ~/.my.cnf
chmod 600 ~/.my.cnf
В файл нужно добавить следующее содержимое:
[mysqldump]
user=myusername
password=mypassword
CPG версии 1.5.6, когда выбран русский язык, может выдавать следующую ошибку при клике на пункт “Моя галерея” обычным зарегистрированным пользователем:
Критическая ошибка Произошла ошибка при обращении к базе данных
Zend Framework поддерживает модули, однако реализация этой поддержки на момент написания статьи немного не полноценна, не всё работает на автомате и приходится кое-что доводить руками. Даже рекомендованная структура директорий для модульного приложения в разных местах официальной документации различается. Continue Reading
Одним из недостатков Zend Framework является то, что “автоматически” подгружается только один конфигурационный файл application.ini
. Однако иногда идеологически правильнее использовать несколько конфигов.
Zend Framework автоматически сам не умеет подгружать layout-ы и конфигурировать объект view в соответствии с настройками модуля, прописанными в конфигурационном файле. Эта задача возложена на плечи разработчика. Приведенный плагин будет автоматически применять некоторые параметры к данным объектам, если эти параметры прописаны в конфигурационном файле.
Continue ReadingДанный пример демонстрирует принципы и решения, описанные в статьях
- Zend Framework – Модульная структуры проекта
- Zend Framework – Объединение конфигов с поддержкой модулей
- Zend Framework – Инициализация основных параметров view и layout для модуля