В данном руководстве рассматриваются вопросы эксплуатации приложений, входящих в состав АСР «Гидра». С полной схемой их взаимодействия можно ознакомиться на странице с описанием взаимодействия приложений.
Веб-приложения
- Офис оператора связи (hoper или arm_isp)
- Личный кабинет абонента (hupo или arm_private_office)
- «Миграция» (arm_migration)
- Платежный портал (arm_payments)
- Портал авторизации (huas)
Каждое приложение устанавливаются на сервере в отдельную директорию (например, в /opt/hydra/rails/arm_isp
), которая имеет следующее содержимое:
releases
- директория с релизами (версиями) приложений. В данной директории хранятся все устанавливаемые на сервер версии заданного приложения для возможности отката к предыдущей версии в случае неудачного обновления.current
- символическая ссылка на директорию с текущей используемой версией приложения. На данную ссылку устанавливается путь до приложения в настройках виртуального хоста в настройках веб-сервера.shared
- директория с общими данными приложения, которые используются независимо от релизов. В данной директории, в частности, хранятся временные файлы и логи, которые генерирует приложение во время своей работы.
Вопросы эксплуатации
- Ротация и архивация лога
В процессе своей работы веб-проложения генерируют лог выполнения запросов в файлshared/log/production.log
, размеры которого со временем эксплуатации системы могут достигать нескольких гигобайт. Чтобы избежать угрозы нехватки свободного дискового пространства, рекомендуется регулярно производить ротацию и архивацию данного лога, например, с помощью logrotate. - Удаление старых релизов
Со времением эксплуатации системы в директорииreleases
может накопиться большое количество устаревших версий приложения, которые уже не совместимы с текущей установленной версией. Чтобы избежать засорения дискового пространства, рекомендуется производить регулярное удаление старых релизов, например, спустя месяц с момента их последнего использования. - Сброс кэша
Для ускорения обработки запросов веб-приложения в ходе своей работы генерируют внутренний кэш в оперативной памяти. В некоторых случаях, например при изменении ссылки на текущий релиз приложения, кэш необходимо сбрасывать, чтобы избежать непредсказуемой работы приложения. Сброс кэша можно осуществить с помощью выполнения следующей команды из директории с приложением:rails@server:~/arm_isp$ touch current/tmp/restart.txt
- Перезапуск
Полный перезапуск веб-приложений в общем случае возможен только за счет перезапуска веб-сервера nginx с помощью инит-скрипта:
root@server:~# /etc/init.d/nginx restart
Перезапуск отдельного приложения может потребоваться, например, когда приложение перестает быть доступным для всех пользователей.
Менеджер соединений с БД
- connection_manager или hcmd