2016-11-09 6 views
0

я попытался запустить Systemd с помощью команд systemctl enable photogrid.service & systemctl start photogrid.service в убунту 16Systemd не может запустить службу после запуска команд

В 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 

ответ

0

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