PathChanged
새 소스 .jar 파일이 제출될 때 내 서비스를 재배포하도록 systemd를 구성하기 위해 서비스와 함께 작동하고 지시문을 사용하는 경로 파일이 있습니다 . 설치 부분은 서비스 파일이 아닌 PATH 파일에 있어야 한다는 내용을 읽었지만 이로 인해 "systemctl 활성화 MYAPP"이 불가능하다는 것을 알았습니다. 서버가 다시 시작될 때 설치가 .path 파일에만 있는 경우 내 응용 프로그램이 제대로 시작됩니까? 제가 알아야 할 다른 문제가 있습니까?
# myapp.path
[Unit]
Wants=myapp.service
[Path]
PathChanged=/srv/webapps/myapp/myapp.jar
[Install]
WantedBy=multi-user.target
답변1
그런 다음 [Install]
에 부품을 넣으십시오 .myapp.path
systemctl enable myapp.path
왜 들어가지 말아야 합니까 myapp.service
?
[Install]
해당 섹션을 넣으면 부팅 직후 myapp.service
서비스가 시작됩니다 . multi-user.target
당신은 아마 이것을 원하지 않을 것입니다. myapp.service
Triggered 될 때만 시작 되기를 원합니다 myapp.path
.
왜 들어가요 myapp.path
?
myapp.path
방아쇠 myapp.service
. 그러므로 myapp.path
무엇이든 하고 싶다면 시작해야 합니다. 시스템이 시작되자마자 해당 경로 모니터링을 시작하려면 설치 섹션을 추가하는 것이 해결책입니다.
왜 작동하지 않습니까 systemctl enable myapp
?
확장자를 지정하지 않으면 .service
확장자로 간주됩니다. .systemctl enable myapp
systemctl enable myapp.service
[Install]
섹션이 존재하지 않기 때문에 활성화에 실패했습니다 myapp.service
. systemctl enable myapp.path
옳은 일입니다.