unicorn + systemd: 유니콘 업그레이드 후 로깅이 손실됨

unicorn + systemd: 유니콘 업그레이드 후 로깅이 손실됨

저는 systemd를 사용하여 처음으로 unicorn을 배포하고 있습니다(실제로 systemd를 사용하는 것은 처음입니다). 그리고 unicorn의“다운타임 제로 업그레이드” 트릭또는 기본적으로 다음과 같습니다.

  • USR2메인 프로세스로 보내기
  • 그러면 새 마스터와 작업자가 생성되고, 이전 pidfile의 이름이 바뀌며, 새 pidfile이 새 마스터의 PID를 반영하게 됩니다.
  • 이전 마스터에게 QUIT 보내기
  • 이로 인해 이전 작업자가 현재 요청을 처리하고 종료되고 이전 마스터가 죽게 됩니다.

한 가지를 제외하고는 모두 잘 작동합니다. systemd의 로그 캡처(for systemctl status)가 새 프로세스의 출력을 볼 수 없습니다. 전환 과정이나 다른 것에 관여하지 않기 때문인 것 같아요.

체계새 호스트의 PID를 확인하고 올바르게 추적하세요.

유니콘의 구성에서 이것을 설정하고 마스터를 HUP(마스터의 PID를 변경하지 않음)만 하면 preload_app = false모든 것이 괜찮습니다. 그러나 실제로 유니콘을 업그레이드하려는 상황은 해결되지 않습니다.

중요한 경우 유니콘 데몬이 없고 Type=simple장치 구성 파일에 있습니다.

새로운 마스터의 로그 출력에 자신을 추가하도록 systemd를 얻을 수 있는 방법이 있습니까?

관련 정보