Пошаговые руководства, шпаргалки, полезные ссылки...
БлогФорумАвторы
Полезные Online-сервисы
Перечень Бесплатного ПО
Подписка на RSS-канал
Предположим, у нас есть веб-сервер Apache на базе CentOS 7, для которого настроено какое-то кастомное веб-приложение, требующее при загрузке системы предварительного прогревочного запуска. То есть, перед тем, как пользователи начали с ним работу, необходимо выполнить вызов какого-либо URL для того, чтобы при первом обращении к веб-приложению пользователи не испытывали задержек его отклика. Для решения этой задачи мы воспользуемся функционалом systemd и создадим свою службу (unit), которая будет выполнять прогревочную команду после запуска основной службы веб-сервера.
Создадим файл службы с любым удобным для нас именем, например webapp-warmup.
# touch /etc/systemd/system/webapp-warmup.service
Наполним файл содержимым примерно следующего вида:
[Unit] Description=Warmup web application server After=httpd.service [Service] Type=simple ExecStart=/bin/curl -svkf -o /dev/null https://localhost/my-web-app-up/ Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target
Пробуем выполнить запуск службы. Служба должна запуститься без ошибок:
# systemctl start webapp-warmup
Убедимся в том, что наша служба фигурирует в списке служб systemd:
# systemctl list-unit-files | grep webapp-warmup
Включаем автозагрузку службы при старте системы:
# systemctl enable webapp-warmup
Перезагружаем сервер и убеждаемся в том, что в процессе запуска системы, после запуска служб httpd, успешно запускается наша прогревочная служба:
# systemctl status webapp-warmup
Автор первичной редакции: Алексей Максимов Время публикации: 03.10.2016 14:00