Информация о свопе:

sudo swapon --show
cat /proc/swaps

Создать файл для свопа:

sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile

Включить до перезагрузки:

sudo swapon /swapfile

Добавить монтирование при загрузке в файл /etc/fstab:

/swapfile none swap sw 0 0

вручную или командой:

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Настройка свопа

Continue Reading

GoAccess – один из инструментов формирования сводного отчета в формате HTML по логам веб-сервера. По сути это инструмент командной строки, который принимает на вход содержимое логов и формирует из них html файлик с отчетом, который удобно просматривать. Чтобы отчеты формировались без нашей помощи, необходим скрипт автоматизации, который можно запускать по расписанию. Под катом скрипт с описанием.

Continue Reading

MySQL с настройками по умолчанию потребляет много памяти. Более 500 мегабайт на чистой установке может уходить на поддержание performance_schema. Если на хостинге/виртуалке мало памяти, и проект не критичный, то это можно отключить пожертвовав данной функциональностью MySQL и высвободить приличный объем памяти. Но не стоит этого делать для критически важных проектов в энтерпрайзе!

В конфигурационном файле my.cnf, а лучше в отдельном кастомном файле в conf.d, в секцию [mysqld] добавить следующую настройку:

[mysqld]
performance_schema = 0

Так же, если бинлоги съедают много места на диске с ограниченным пространством, можно уменьшить время хранения бинлогов:

[mysqld]
binlog_expire_logs_seconds = 259200

Использование пароля в командной строке, например, при запуске резервного копирования по 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, когда выбран русский язык, может выдавать следующую ошибку при клике на пункт “Моя галерея” обычным зарегистрированным пользователем:

Критическая ошибка
Произошла ошибка при обращении к базе данных

Continue Reading

Zend Framework поддерживает модули, однако реализация этой поддержки на момент написания статьи немного не полноценна, не всё работает на автомате и приходится кое-что доводить руками. Даже рекомендованная структура директорий для модульного приложения в разных местах официальной документации различается. Continue Reading

Одним из недостатков Zend Framework является то, что “автоматически” подгружается только один конфигурационный файл application.ini. Однако иногда идеологически правильнее использовать несколько конфигов.

Continue Reading

Zend Framework автоматически сам не умеет подгружать layout-ы и конфигурировать объект view в соответствии с настройками модуля, прописанными в конфигурационном файле. Эта задача возложена на плечи разработчика. Приведенный плагин будет автоматически применять некоторые параметры к данным объектам, если эти параметры прописаны в конфигурационном файле.

Continue Reading