Skip to content

Latest commit

 

History

History

03_nix

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Домашнее задание к занятию «ОС Linux (часть 1)»

В качестве результата пришлите ответы на вопросы в личном кабинете студента на сайте netology.ru.

Задача SystemCtl & JournalCtl

Легенда

На лекции мы рассмотрели работу с Systemd и Journald. В это ДЗ вам необходимо будет закрепить данные навыки, зарегистрировав предлагаемый вам сервер в качестве сервиса Systemd и проанализировав его логи с помощью JournalCtl.

Задача

Скачайте:

  1. Исполняемый файл сервера
  2. Сертификат и приватный ключ

Настройте запуск сервера (используйте виртуальную машину с ОС Ubuntu) при старте системы с рабочим каталогом /opt/app (сертификаты должны располагаться в нём же).

С помощью journalctl отследите, лог приложения (не менее 2х минут) и пришлите:

  1. Скриншот, либо содержимое файла app.service
  2. Ответы на вопросы:
    1. На каком IP и порту запускается сервис
    2. Кто (IP и порт) шлёт запросы на этот сервис и на какой путь
    3. Какие ответы (формат) получает клиент из п.ii получает в ответ на свои запросы
    4. Какой ответ (HTTP статус код) получите вы, если пошлёте из браузера запрос на этот же адрес (сертификат самоподписанный, поэтому вам необходимо принять его)

Выполнение

Пошаговое выполнение
  1. Исполняемый файл сервера поместите в каталог /opt/app (при необходимости создайте его командой sudo mkdir -p /opt/app)
  2. Установите права на исполнение на файл сервера командой: sudo chmod +x /opt/app/server.bin
  3. Разместите сертификаты в каталоге /opt/app (необходимо их скопировать в этот каталог)
  4. Настройте сервис Systemd под именем app.service (файл /etc/systemd/system/app.service) таким образом, чтобы:
    • сервис запускался при старте системы (после network.target и auditd.service)
    • сервис перезапускался при ошибке (on-failure)
    • рабочий каталог сервиса был равен /opt/app
  5. Запустите сервис командой sudo systemctl start app.service
  6. Удостоверьтесь, что сервис запустился командой sudo systemctl status app.service
  7. Подождите несколько минут
  8. Посмотрите журналы сервиса командой sudo journalctl -u app.service
  9. Включите сервис в "автозагрузку" командой sudo systemctl enable app.service
  10. Удостоверьтесь, что после перезагрузки ОС сервис автоматически запускается с помощью команды sudo systemctl status app.service
Подсказка (общий вид файла app.service)
[Unit]
Description=...
After=...

[Service]
ExecStart=...

[Install]
WantedBy=...