나는 서버를 중단 시키거나 재부팅해야 systemd를 사용하여 프로덕션 모드로 배포하려고하는 node.js 응용 프로그램을 다시 시작합니다. '노드 app.js'를 사용하여 시작할 때 앱이 정상적으로 작동합니다 (즉, 모든 공개 파일을 찾을 수 있음). 그러나 프로세스를 종료하고 systemd가 시스템을 다시 시작할 때 Express는 더 이상 내 css/js 파일을 찾을 수 없습니다. 연결 자산을 사용하여 내 CSS/JS 파일을 연결합니다.systemd가 node.js 앱을 다시 시작할 때 내 css/js 파일을 찾을 수없는 이유는 무엇입니까?
문제는 내 노드 경로라고 생각하지만 완전히 확신하지는 않습니다. 내가 수동으로 '노드 app.js'명령을 사용하기 시작하는 과정을 검토 할 때는
500 Error ...
> 11| != css('styles')
12| != js('application')
No file found for route css/styles.css
내가 참조 :
ghost 30222 6.8 17.8 140348 90848 pts/0 Sl+ 18:01 0:08 node app.js
systemd가 응용 프로그램을 다시 시작할 때 이것은 내가 내 브라우저에서 볼 수있는 오류입니다
그리고 systemd 내가 다음을 참조 응용 프로그램을 다시 시작할 때 :
: 여기ghost 30332 5.5 9.1 94036 46516 ? Ssl 18:05 0:01 /usr/local/bin/node /home/ghost/myapp/app.js
내 서비스 파일입니다
[Service]
ExecStart=/usr/local/bin/node /home/ghost/myapp/app.js
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=node-sample
User=ghost
Group=ghost
Environment=NODE_ENV=production
[Install]
WantedBy=multi-user.target
당신은 설정할 수 있습니다 귀하의'WorkingDirectory'에'/ 홈/유령/MyApp를 /'. – Wrikken
그래, 그 트릭을하는 것처럼 보였다. 감사합니다 @ Wrikken! – gh0st