@andrew_andrey

Почему возникает ошибка code=exited, status=210/CHROOT при запуске node.js приложения, как отдельного сервиса с помощью systemd?

Конфиг:
[Unit]
Description=LTPS NodeJS App
After=network-online.target

[Service]
Restart=on-failure
WorkingDirectory=/home/{user}/test-server
ExecStart= /home/{user}/.nvm/versions/node/v10.16.0/bin/nodemon /home/{user}/test-server/app.js

[Install]
WantedBy=multi-user.target


Нода установлена через nvm. При старте сервиса возникает ошибка code=exited, status=210/CHROOT. Если добавить окружение Environment=PATH=/home/{user}/.nvm/versions/node/v10.16.0/bin ошибка пропадает. Можете объяснить как это работает? В большинстве конфигов, которые находил, путь к ноде /usr/bin и таких проблем нет.

В какой директории держать конфиг сервиса? /lib/systemd/system или /etc/systemd/system
  • Вопрос задан
  • 1241 просмотр
Пригласить эксперта
Ответы на вопрос 2
POS_troi
@POS_troi
СадоМазо Админ, флудер, троль.
Потому что /usr/bin есть в "дефолтном" PATH, а "/home/{user}/.nvm/versions/node/v10.16.0/bin" только в юзерском

P.S. забыли
User= / Group=
Ответ написан
@GLeBaTi
Была такая ошибка, когда комментарии шли не перед выставлением параметра, а вконце строки. Например:
WorkingDirectory=/var/www #комментарий
нужно заменить на (или убрать вообще комментарий):
#комментарий
WorkingDirectory=/var/www
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы