node.js 전문가가 시스템 부팅시 서버를 자동 시작하도록 노드 JS를 구성하는 방법을 알려줄 수 있습니까? Windows를 사용 중입니다.
답변
이것은 node.js에서 구성 할 사항이 아니며 순전히 OS 책임입니다 (귀하의 경우 Windows). 이를 달성하는 가장 안정적인 방법은 Windows 서비스를 사용하는 것입니다.
노드 스크립트를 Windows 서비스로 설치하는 매우 쉬운 모듈 이 있는데 ,이를 node-windows ( npm , github , documentation )라고합니다. 예전에 사용 해본 적이 있고 매력처럼 일 했어요.
var Service = require('node-windows').Service;
// Create a new service object
var svc = new Service({
name:'Hello World',
description: 'The nodejs.org example web server.',
script: 'C:\\path\\to\\helloworld.js'
});
// Listen for the "install" event, which indicates the
// process is available as a service.
svc.on('install',function(){
svc.start();
});
svc.install();
추신
나는 그것이 매우 유용하다는 것을 발견하여 그 주위에 사용하기 더 쉬운 래퍼 ( npm , github ) 를 만들었습니다 .
설치 :
npm install -g qckwinsvc
서비스 설치 :
> qckwinsvc
prompt: Service name: [name for your service]
prompt: Service description: [description for it]
prompt: Node script path: [path of your node script]
Service installed
서비스 제거 :
> qckwinsvc --uninstall
prompt: Service name: [name of your service]
prompt: Node script path: [path of your node script]
Service stopped
Service uninstalled
답변
Linux를 사용하는 경우 macOS 또는 Windows pm2 가 친구입니다. 클러스터를 매우 잘 처리하는 프로세스 관리자입니다.
당신은 그것을 설치합니다 :
npm install -g pm2
예를 들어, 3 개의 프로세스로 구성된 클러스터를 시작하십시오.
pm2 start app.js -i 3
그리고 pm2는 부팅시 그들을 시작합니다 :
pm2 startup
API, 모니터 인터페이스도 있습니다 .
답변
내가 틀리지 않은 경우 명령 줄을 사용하여 배치 파일을 사용하여 응용 프로그램을 시작할 수 있습니다. 이 경우 Windows 로그인으로 시작하는 것은 그리 어려운 작업이 아닙니다.
다음 내용으로 배치 파일을 생성하기 만하면됩니다.
node C:\myapp.js
.bat 확장자로 저장하십시오. 여기서 myapp.js는 앱이며,이 예제에서는 C : 드라이브 (경로 지정)에 있습니다.
이제 C : \ Users \ % username % \ AppData \ Roaming \ Microsoft \ Windows \ Start Menu \ Programs \ Startup에있는 시작 폴더에 배치 파일을 던질 수 있습니다.
실행 dailog 상자에서 % appdata %를 사용하여 열고> Roaming> Microsoft> Windows> 시작 메뉴> 프로그램> 시작을 찾습니다.
배치 파일은 로그인시 실행되며 cmd에서 노드 응용 프로그램을 시작합니다.
답변
Windows 작업 스케줄러를 사용하여 수동으로 쉽게 수행 할 수 있습니다.
- 첫째, 영원히 설치하십시오 .
-
그런 다음 다음을 포함하는 배치 파일을 만듭니다.
cd C:\path\to\project\root call C:\Users\Username\AppData\Roaming\npm\forever.cmd start server.js exit 0
-
마지막으로 로그온 할 때 실행되는 예약 된 작업을 만듭니다. 이 작업은 배치 파일을 호출해야합니다.
답변
node.js 앱을 Windows 서비스로 설치 한 다음 시작할 때 서비스가 실행되도록 설정하는 것이 좋습니다. 이렇게하면 시작 폴더에서 배치 파일을 추가하거나 제거 할 필요없이 Windows 서비스 스냅인을 사용하여 시작 작업을 좀 더 쉽게 제어 할 수 있습니다.
Stackoverflow의 또 다른 서비스 관련 질문은 몇 가지 (apprently) 정말 좋은 옵션을 제공했습니다. Windows 서비스로 node.js를 설치하는 방법을 확인하십시오 . node-windows 는 나에게 정말 유망 해 보입니다. 그 외에 서비스로 실행해야하는 Java 앱에 유사한 도구를 사용했습니다. 그것은 내 인생을 훨씬 더 쉽게 만들었습니다. 도움이 되었기를 바랍니다.
답변
답변
pm2 를 사용 하여 Windows에서 nodejs 프로세스를 시작하고 실행하십시오.
pm2를 시작하도록 작업 스케줄러를 설정하는 방법에 대한이 github 토론을 읽으십시오 : https://github.com/Unitech/pm2/issues/1079