В качестве результата пришлите ответы на вопросы в личном кабинете студента на сайте netology.ru.
На лекции мы рассмотрели работу с Systemd и Journald. В это ДЗ вам необходимо будет закрепить данные навыки, зарегистрировав предлагаемый вам сервер в качестве сервиса Systemd и проанализировав его логи с помощью JournalCtl.
Скачайте:
Настройте запуск сервера (используйте виртуальную машину с ОС Ubuntu) при старте системы с рабочим каталогом /opt/app
(сертификаты должны располагаться в нём же).
С помощью journalctl
отследите, лог приложения (не менее 2х минут) и пришлите:
- Скриншот, либо содержимое файла
app.service
- Ответы на вопросы:
- На каком IP и порту запускается сервис
- Кто (IP и порт) шлёт запросы на этот сервис и на какой путь
- Какие ответы (формат) получает клиент из п.ii получает в ответ на свои запросы
- Какой ответ (HTTP статус код) получите вы, если пошлёте из браузера запрос на этот же адрес (сертификат самоподписанный, поэтому вам необходимо принять его)
Пошаговое выполнение
- Исполняемый файл сервера поместите в каталог
/opt/app
(при необходимости создайте его командойsudo mkdir -p /opt/app
) - Установите права на исполнение на файл сервера командой:
sudo chmod +x /opt/app/server.bin
- Разместите сертификаты в каталоге
/opt/app
(необходимо их скопировать в этот каталог) - Настройте сервис Systemd под именем
app.service
(файл/etc/systemd/system/app.service
) таким образом, чтобы:- сервис запускался при старте системы (после
network.target
иauditd.service
) - сервис перезапускался при ошибке (
on-failure
) - рабочий каталог сервиса был равен
/opt/app
- сервис запускался при старте системы (после
- Запустите сервис командой
sudo systemctl start app.service
- Удостоверьтесь, что сервис запустился командой
sudo systemctl status app.service
- Подождите несколько минут
- Посмотрите журналы сервиса командой
sudo journalctl -u app.service
- Включите сервис в "автозагрузку" командой
sudo systemctl enable app.service
- Удостоверьтесь, что после перезагрузки ОС сервис автоматически запускается с помощью команды
sudo systemctl status app.service
Подсказка (общий вид файла app.service)
[Unit]
Description=...
After=...
[Service]
ExecStart=...
[Install]
WantedBy=...