systemd не может запустить службу после выполнения команд

Я попытался запустить systemd с помощью команд systemctl enable photogrid.service & systemctl start photogrid.service в ubuntu 16

Само приложение nodejs может работать должным образом. Эта служба обеспечивает автоматический запуск приложения при сбое приложения или перезагрузке сервера.

Служба видимо не запустилась. Итак, я ввожу systemctl status photogrid.service, чтобы посмотреть, что произошло. Ниже показано, что я получил от терминала.

● photogrid.service - Photogrid
   Loaded: loaded (/lib/systemd/system/photogrid.service; enabled; vendor preset: enabled)
   Active: activating (auto-restart) (Result: exit-code) since Wed 2016-11-09 04:35:36 UTC; 7s ago
  Process: 27523 ExecStart=/usr/local/bin/node /home/ubuntu/photogrid/app.js (code=exited, status=203/EXEC)
 Main PID: 27523 (code=exited, status=203/EXEC)

Nov 09 04:35:36 ip-172-31-34-151 systemd[1]: photogrid.service: Main process exited, code=exited, status=203/EXEC
Nov 09 04:35:36 ip-172-31-34-151 systemd[1]: photogrid.service: Unit entered failed state.
Nov 09 04:35:36 ip-172-31-34-151 systemd[1]: photogrid.service: Failed with result 'exit-code'.

Это сценарий, который я написал для службы по пути /lib/systemd/system/photogrid.service.

[Unit]
Description=Photogrid

[Service]
Type=simple
Restart=always
RestartSec=10
Environment=NODE_ENV=production
ExecStart=/usr/local/bin/node /home/ubuntu/photogrid/app.js

[Install]
WantedBy=multi-user.target

person Winson Liao    schedule 09.11.2016    source источник


Ответы (1)


В основном под ExecStart убедитесь, что вы указываете на правильный исполняемый файл nodejs. В моем случае он находился в другой папке, а не в /usr/local/bin/node, чтобы проверить, где находится исполняемый файл вашего узла. (Предполагая, что вы подтвердили, что загрузили и правильно установили его в Linux) используйте команду which node, чтобы указать направление пути.

person Winson Liao    schedule 13.11.2016