Мне нужно запустить мой скрипт node.js автоматически с моей удаленной машины с помощью systemctl.Сценарий Node.js не запускался с systemctl
Я уже сделал файл .service и поместил его в /etc/systemd/system/
. Вот файл .Service:
[Unit]
Description=laporan
[Service]
ExecStart=/var/www/laporan/nodeserver/server.js
Restart=always
User=nobody
Group=root
Environment=PATH=/usr/bin:/usr/local/bin
Environment=NODE_ENV=production
WorkingDirectory=/var/www/laporan/nodeserver
[Install]
WantedBy=multi-user.target
Но каждый раз, когда я пытаюсь запустить службу, она возвращает ошибку следующим образом (выход systemctl status laporan
):
● laporan.service - laporan
Loaded: loaded (/etc/systemd/system/laporan.service; enabled)
Active: failed (Result: start-limit) since Mon 2016-09-12 09:15:06 WITA; 11min ago
Process: 121690 ExecStart=/var/www/laporan/nodeserver/server.js (code=exited, status=203/EXEC)
Main PID: 121690 (code=exited, status=203/EXEC)
Sep 12 09:15:05 kominfomdc systemd[1]: Unit laporan.service entered failed state.
Sep 12 09:15:06 kominfomdc systemd[1]: laporan.service start request repeated too quickly, refusing to start.
Sep 12 09:15:06 kominfomdc systemd[1]: Failed to start laporan.
Sep 12 09:15:06 kominfomdc systemd[1]: Unit laporan.service entered failed state.
Что именно эта ошибка о? Я что-то упускаю?
получить этот вид уведомления: Путь к исполняемому файлу не является абсолютным. мой узел также находится на пути –
Ну, я изменил его на 'ExecStart =/usr/local/bin/node/var/www/laporan/nodeserver/server.js', и он работает как ад. Спасибо за Ваш ответ! –
Обратите внимание, что в некоторых системах узел находится в/usr/bin/node, поэтому проверьте полный путь (например,/usr/bin/node /dir/yourapp.js или/usr/local/bin/node/dir/yourapp.js), чтобы посмотреть, какой из них будет работать для вас. – Youkko