내 컴퓨터는 Ubuntu 16.04입니다. 컴퓨터가 시작될 때마다 node.js 애플리케이션을 시작하고 싶습니다. 이에 따르면우편 엽서서비스 자동 시작에 대해. 나는 다음을 수행하여 그것을 제공하려고 노력합니다.
forever
1) 노드 모듈을 사용하여 노드 애플리케이션을 시작하는 스크립트를 만들었습니다 .
#!/bin/bash
echo "Starting App"
forever -a start /opt/app/app.js
echo "App started"
2) 이 스크립트에 이름을 지정 startApp.sh
하고 이 스크립트를 안에 넣습니다./etc/init.d/폴더.
3) 명령을 실행했습니다update-rc.d startApp defaults
그런데 오류가 났어요update-rc.d: 오류: initscript가 존재하지 않습니다: /etc/init.d/startApp
내가 뭘 잘못했나요?
답변1
이를 달성하는 방법에는 여러 가지가 있습니다. 미립자 PM2를 사용하면 예상되거나 예상치 못한 컴퓨터 다시 시작을 시작하는 시작 스크립트를 생성할 수 있습니다.
http://pm2.keymetrics.io/docs/usage/startup/
루스트어바웃나는 Dockerfile을 생성하고 --restart=always 태그를 사용하여 실행하는 것을 선호합니다.
쉘 스크립트를 계속 실행하려는 경우 그런 다음 Unix의 crontab을 사용하면 사용하기 매우 쉽고 몇 분 안에 구성할 수 있습니다.
crontab 편집 다음 명령을 실행하여 "USER"를 노드 프로세스에 대해 원하는 런타임 사용자로 바꾸십시오. 자신이 아닌 다른 사용자를 선택하는 경우 sudo를 사용하여 이 명령을 실행해야 합니다.
$ crontab -u 사용자 -e
편집기에서 다음 줄을 추가합니다.
@reboot /usr/local/bin/forever start /your/path/to/your/index.js else
@reboot sh /your/path/to/your/startApp.sh
저장하고 #1의 check 명령을 통해 파일이 다시 저장되었는지 확인하세요.
참고: 제 생각에는 문제를 방지하려면 crontab 파일의 전체 경로를 사용해야 합니다.
참조를 위해 이 URL을 참조할 수 있습니다. 우분투 크론 운영 가이드