![NodeJ 및 systemd에 raspbian 오류 MODULE_NOT_FOUND / Module._resolveFilename이 있습니다.](https://linux55.com/image/223812/NodeJ%20%EB%B0%8F%20systemd%EC%97%90%20raspbian%20%EC%98%A4%EB%A5%98%20MODULE_NOT_FOUND%20%2F%20Module._resolveFilename%EC%9D%B4%20%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
헤이-헤이! 시스템의 어느 곳에서나 실행할 수 있는 노드 스크립트가 있습니다.
/usr/bin/node /home/admin/git-repos/MMMMobileAlerts/maserver/mobilealerts.js
그 후에 x비트도 추가했습니다.
sudo chmod +x /home/admin/git-repos/MMMMobileAlerts/maserver/mobilealerts.js
이제 내가 원하는 것은 서비스로 실행하는 것뿐입니다. 그래서 maserver.service
파일을 만들었어요/etc/systemd/system
[Service]
ExecStart= /usr/bin/node /home/admin/git-repos/MMMMobileAlerts/maserver/mobilealerts.js
나도 그것을 시도했습니다 #!
.
명령어를 입력한 후 sudo systemctl daemon-reload
확인해보니
sudo systemctl status maserver
● maserver.service
Loaded: loaded (/etc/systemd/system/maserver.service; static)
Active: failed (Result: exit-code) since Mon 2023-08-21 10:00:16 CEST; 5h 9min ago
Main PID: 2404124 (code=exited, status=1/FAILURE)
CPU: 234ms
Aug 21 10:00:16 dockerpi node[2404124]: at Module._resolveFilename (node:internal/modules/cjs/loader:1077:15)
Aug 21 10:00:16 dockerpi node[2404124]: at Module._load (node:internal/modules/cjs/loader:922:27)
Aug 21 10:00:16 dockerpi node[2404124]: at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
Aug 21 10:00:16 dockerpi node[2404124]: at node:internal/main/run_main_module:23:47 {
Aug 21 10:00:16 dockerpi node[2404124]: code: 'MODULE_NOT_FOUND',
Aug 21 10:00:16 dockerpi node[2404124]: requireStack: []
Aug 21 10:00:16 dockerpi node[2404124]: }
Aug 21 10:00:16 dockerpi node[2404124]: Node.js v18.17.1
Aug 21 10:00:16 dockerpi systemd[1]: maserver.service: Main process exited, code=exited, status=1/FAILURE
Aug 21 10:00:16 dockerpi systemd[1]: maserver.service: Failed with result 'exit-code'.
Raspbian에서 systemd를 사용하여 NodeJs 스크립트를 서비스로 실행하고 싶습니다.
답변1
Node에서 호출한 js에 서비스 파일의 사용자 및 그룹 지시문을 설정하여 동일한 문제를 해결했습니다.
[Service]
User=ubuntu
Group=ubuntu