Я запускаю сервер с MKDocs для документации.
Чтобы использовать MKDocs из каталога, в котором находится проект, вам нужно запустить mkdocs обслуживает -a 192.168.3.107:8080
для того, чтобы заставить его начать.
До сих пор я использовал /usr/bin/tmux новая сессия -d -s "MKDOCS" "cd /root/mkdocs && mkdocs serve -a 192.168.3.107:8080"
чтобы он работал в фоновом режиме, но это очень схематичное решение, и я хотел бы запустить его как службу systemd.
Я пытался что-то вроде этого, но это не работает:
[Ед. изм]
Описание=служба mkdocs
ConditionPathExists=/root/mkdocs
[Оказание услуг]
Тип=простой
Пользователь=корень
Рабочий каталог=/usr/local/bin
ExecStart=/root/mkdocs serve -a 192.168.3.107:8080
RemainAfterExit=да
[Установить]
WantedBy=многопользовательская.цель
После того, как я запустил службу с запуском, статус показывает:
root@server:~/mkdocs# статус службы mkdocs
✓ mkdocs.service — служба mkdocs
Загружено: загружено (/etc/systemd/system/mkdocs.service; отключено; предустановка поставщика: включена)
Активно: сбой (результат: код выхода) со среды 02.02.2022 13:54:44 CET; 3 мин 46 с назад
Процесс: 379585 ExecStart=/root/mkdocs serve -a 192.168.3.107:8080 (код=выход, статус=203/EXEC)
Основной PID: 379585 (код=выход, статус=203/EXEC)
Я получаю журналctl -xe показывает:
-- Идентификатор задания 368094.
02 февраля, 13:54:44 server.domain.local systemd [379585]: mkdocs.service: не удалось выполнить команду: в доступе отказано
02 февраля, 13:54:44 server.domain.local systemd[379585]: mkdocs.service: сбой на этапе создания EXEC /root/mkdocs: разрешение отклонено
-- Тема: Не удалось запустить процесс /root/mkdocs
-- Определено: systemd
-- Поддержка: http://www.ubuntu.com/support
--
-- Процесс /root/mkdocs не может быть выполнен и завершается ошибкой.
--
-- Этот процесс возвращает номер ошибки ERRNO.
02 февраля, 13:54:44 server.domain.local systemd[1]: mkdocs.service: основной процесс завершен, код = завершен, статус = 203/EXEC
-- Тема: Процесс модуля завершен
-- Определено: systemd
-- Поддержка: http://www.ubuntu.com/support
--
-- Процесс ExecStart=, принадлежащий модулю mkdocs.service, завершился.
--
-- Код выхода процесса - "выход", а его статус выхода - 203.
02 февраля, 13:54:44 server.domain.local systemd[1]: mkdocs.service: Ошибка с результатом «код выхода».
-- Тема: Неисправность устройства
-- Определено: systemd
-- Поддержка: http://www.ubuntu.com/support
--
-- Модуль mkdocs.service перешел в состояние "сбой" с результатом "код выхода".
Я дал каталогу полные права с помощью chmod -R 777 /корень/mkdocs
однако я все еще получаю ту же ошибку.
Надеюсь, кто-то может помочь мне заставить его работать. Спасибо
РЕДАКТИРОВАТЬ:
Я изменил путь, все равно будут разрешения 777, поэтому теперь код:
однако это все еще не работает, я получаю:
root@server:/test# systemctl daemon-reload
root@server:/test# systemctl запустить mkdocs.service
root@server:/test# статус systemctl mkdocs.service
✓ mkdocs.service — служба mkdocs
Загружено: загружено (/etc/systemd/system/mkdocs.service; отключено; предустановка поставщика: включена)
Активно: сбой (результат: код выхода) со среды 02.02.2022 14:17:24 CET; 4 с назад
Процесс: 380128 ExecStart=/test mkdocs serve -a 192.168.3.107:8080 (code=exited, status=203/EXEC)
Основной PID: 380128 (код=выход, статус=203/EXEC)
02 февраля 14:17:24 server.domain.local systemd[1]: запущена служба mkdocs.
02 февраля 14:17:24 server.domain.local systemd [380128]: mkdocs.service: не удалось выполнить команду: в доступе отказано
02 февраля, 14:17:24 server.domain.local systemd [380128]: mkdocs.service: сбой на шаге EXEC spawning /test: разрешение отклонено
02 февраля, 14:17:24 server.domain.local systemd[1]: mkdocs.service: основной процесс завершен, код = завершен, статус = 203/EXEC
02 февраля, 14:17:24 server.domain.local systemd[1]: mkdocs.service: Ошибка с результатом «код выхода».
и журналctl -xe
показывает:
-- Модуль mkdocs.service перешел в состояние "сбой" с результатом "код выхода".
02 февраля, 14:20:32 server.domain.local systemd[1]: запущена служба mkdocs.
-- Тема: Стартовое задание для модуля mkdocs.service успешно завершено
-- Определено: systemd
-- Поддержка: http://www.ubuntu.com/support
--
-- Стартовое задание для модуля mkdocs.service успешно завершено.
--
-- Идентификатор задания 368972.
02 февраля, 14:20:32 server.domain.local systemd [380164]: mkdocs.service: не удалось выполнить команду: в доступе отказано
02 февраля, 14:20:32 server.domain.local systemd[380164]: mkdocs.service: сбой на шаге EXEC spawning/test: разрешение отклонено
-- Тема: Процесс/тест не может быть выполнен
-- Определено: systemd
-- Поддержка: http://www.ubuntu.com/support
--
-- Процесс /test не может быть выполнен и завершается ошибкой.
--
-- Этот процесс возвращает номер ошибки ERRNO.
02 февраля, 14:20:32 server.domainlocal systemd[1]: mkdocs.service: основной процесс завершен, код = завершен, статус = 203/EXEC
-- Тема: Процесс модуля завершен
-- Определено: systemd
-- Поддержка: http://www.ubuntu.com/support
--
-- Процесс ExecStart=, принадлежащий модулю mkdocs.service, завершился.
--
-- Код выхода процесса - "выход", а его статус выхода - 203.
02 февраля, 14:20:32 server.domain.local systemd[1]: mkdocs.service: Ошибка с результатом «код выхода».
-- Тема: Неисправность устройства
-- Определено: systemd
-- Поддержка: http://www.ubuntu.com/support
--
-- Модуль mkdocs.service перешел в состояние "сбой" с результатом "код выхода".
это не имеет никакого смысла, так как разрешения 777.