Commit 37d68e
2024-12-15 20:05:26 Mayekkuzu: Initial Commit/dev/null .. linux/system/systemd.md | |
@@ 0,0 1,57 @@ | |
+ | # Systemd |
+ | |
+ | |
+ | |
+ | Systemd - Система управления службами и служба инициализации. |
+ | |
+ | ## Пример запуска службы |
+ | Создадим фаил /etc/systemd/system/my-app.service |
+ | ``` |
+ | [Unit] |
+ | Description=My APP Service |
+ | After=multi-user.target |
+ | |
+ | [Service] |
+ | Type=simple |
+ | # Указываем рабочую папку |
+ | WorkingDirectory=/home/user/my_app_folder |
+ | # Запускаем приложение |
+ | ExecStart=myapp --debug |
+ | # От пользователя user |
+ | User=user |
+ | |
+ | # Always restart |
+ | Restart=always |
+ | |
+ | [Install] |
+ | # system wide service |
+ | WantedBy=multi-user.target |
+ | ``` |
+ | Далее рестартим systemd чтобы перечитались все unit файлы, и запускаем службу. Последней командой смотрим статус службы |
+ | ``` |
+ | sudo systemctl daemon-reload |
+ | sudo systemctl start my-app |
+ | sudo systemctl status my-app |
+ | ``` |
+ | Для автозапуска пишем |
+ | ``` |
+ | sudo systemctl enable my-app |
+ | ``` |
+ | ## Пример запуска службы на примере java приложения |
+ | Создадим фаил /etc/systemd/system/java-app.service |
+ | ``` |
+ | [Unit] |
+ | Description=Manage Java service |
+ | |
+ | [Service] |
+ | WorkingDirectory=/home/user/my-java-app-folder |
+ | ExecStart=/bin/java -jar java-app.jar |
+ | User=user |
+ | Type=simple |
+ | Restart=on-failure |
+ | RestartSec=10 |
+ | |
+ | [Install] |
+ | WantedBy=multi-user.target |
+ | ``` |
+ | Дальше по аналогии как и с предыдущим пунктом |