Создание сервис процесса в Ubuntu(запуск в фоновом режиме)

Материал из wiki
Версия от 14:16, 5 сентября 2025; Srv (обсуждение | вклад) (Новая страница: «В качестве примера выступает сервис для open-webui. 1. Подключаемся к нужному серверу по ssh и вписываем: sudo nano /etc/systemd/system/название сервиса. В нашем случае open-webui.service(/etc/systemd/system/open-webui.service) 2. Вписываем следующие: [Unit] Description=Open WebUI Service After=network.target [Service] ExecStart=/bin/bash -...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

В качестве примера выступает сервис для open-webui. 1. Подключаемся к нужному серверу по ssh и вписываем: sudo nano /etc/systemd/system/название сервиса. В нашем случае open-webui.service(/etc/systemd/system/open-webui.service) 2. Вписываем следующие: [Unit] Description=Open WebUI Service After=network.target

[Service] ExecStart=/bin/bash -c "source /home/srv/miniconda3/bin/activate open-webui-env && open-webui serve" Restart=always User=srv Environment="PATH=/home/srv/miniconda3/envs/open-webui/bin/open-webui serve:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin" Environment="WEBUI_SECRET_KEY_FILE=/home/srv/.webui_secret_key" WorkingDirectory=/home/srv

[Install] WantedBy=multi-user.target Расшифровка: Description: Описание сервиса для администратора. After=network.target: Говорит systemd запускать этот сервис после того, как будет готова сеть.

ExecStart: /bin/bash -c "...": Запускает команду в bash. source /home/srv/miniconda3/bin/activate open-webui-env: Активирует виртуальное окружение Conda с именем open-webui-env. && open-webui serve: После активации окружения запускает команду open-webui serve.

Restart=always: Сервис будет автоматически перезапущен User=srv: Указывает, от имени какого пользователя будет работать сервис Environment: Путь где искать исполняемый файл Environment="WEBUI_SECRET_KEY_FILE=/home/srv/.webui_secret_key" - переменная с указанием закрытого ключа WorkingDirectory=/home/srv - рабочая директория из которой происходит запуск приложения

WantedBy=multi-user.target — означает, что сервис будет запускаться на многопользовательском уровне.