방금 systemctl을 배우기 시작했고 nodejs 스크립트를 실행할 서비스 파일을 생성하려고 시도했지만 실행되지 않고 오류가 실제로 이유를 알려주지 않습니다.
제가 취한 단계는 다음과 같습니다.
1) /lib/systemd/system
다음 명령을 사용하여 파일을 탐색하고 생성합니다.
sudo nano /lib/systemd/system/hello_env.service
2) 다음 서비스 파일을 생성합니다.
[Unit]
Description=
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/node /home/dev/index.js
Restart=always
[Install]
WantedBy=multi.user.target
3) 종류sudo systemctl daemon-reload
4) 프로세스를 시작합니다.
sudo systemctl start hello_env
5) 상태 확인:
sudo systemctl status hello_env
다음과 같은 오류가 발생했습니다.
> hello_env.service Loaded: loaded
> (/lib/systemd/system/hello_env.service; disabled; vendor pres
> Active: failed (Result: exit-code) since Wed 2020-01-29 16:00:37 IST;
> 2s ago Process: 25605 ExecStart=/usr/bin/node
> /home/dev/index.j Main PID: 25605 (code=exited,
> status=1/FAILURE)
>
> Jan 29 16:00:37 sf-env systemd[1]: hello_env.service: Main process
> exited, code Jan 29 16:00:37 sf-env systemd[1]: hello_env.service:
> Failed with result 'exit- Jan 29 16:00:37 sf-env systemd[1]:
> hello_env.service: Service hold-off time ove Jan 29 16:00:37 sf-env
> systemd[1]: hello_env.service: Scheduled restart job, re Jan 29
> 16:00:37 sf-env systemd[1]: Stopped index.js - starting the bot. Jan
> 29 16:00:37 sf-env systemd[1]: hello_env.service: Start request
> repeated to Jan 29 16:00:37 sf-env systemd[1]: hello_env.service:
> Failed with result 'exit- Jan 29 16:00:37 sf-env systemd[1]: Failed to
> start index.js.
/home/dev/index.js
스크립트 로 이동하여 실행하면 node index.js
제대로 작동합니다. 누락된 부분을 알려주세요.
답변1
이 줄을 에코하여 문제를 해결했는데 ExecStart=/usr/bin/node /home/dev/index.js
스크립트에 오류가 있음을 확인했습니다.
따라서 나중에 참고할 수 있도록 ExecStart를 디버그하여 실제로 작동하는지 확인하시기 바랍니다.