유니콘 어플리케이션 서버를 사용하는 레일즈 애플리케이션에서 전자 상거래 루비를 실행 중입니다. 루비 버전은 2.0.0이고 레일 버전은 3.2.14입니다. 웹 서버로 Nginx를 실행하고 있습니다. 코드를 서버로 전송할 때 웹 사이트에서 blup/bleep을 일으키는 유니콘 앱 서버를 다시 시작해야합니다. 해결책을 찾기 위해 봤지만 아무 것도 작동하지 않는 것 같습니다. 나는 전에 승객을 이용하고 있었다.루비 2.0.0과 Rails 3.2.14를 사용한 유니콘 핫 리셋
다시 시작할 때 blup을 피할 수있는 방법이 없으므로 중단 시간을 제로로 유지하십시오.
"번들 exec 유니콘 -D -c $ APP_ROOT/config/unicorn.rb -E 프로덕션 "유니콘을 시작하는이 명령 –
USR2 신호를 마스터 프로세스로 보내고 & wil Gemfile을 제외한 새로운 응용 프로그램 코드를 선택하십시오. 따라서 Gemfile을 변경하지 않는 경우, USR2는 다운 타임이 전혀없는 재시작 티켓입니다. USR2를 사용하는 경우 번들 exec를 다시 실행할 필요가 없습니다. 새 프로그램을 다시 시작하지 못하면 이전 프로그램이 계속 실행됩니다. Gemfile을 변경하면 QUIT 신호를 마스터에 보내고 번들 exec unicorn ... 명령을 실행하여 새 유니콘 마스터를 시작합니다. 그러나 이는 중단 시간이 전혀없는 재시작이 아니며 문제가있는 경우 앱이 시작되지 않고 고정 될 때까지 다운되었습니다. – nachbar
kill -s USR2 process-id-of-master-process가 정상적으로 작동하고 있습니다. 위의 명령을 사용하면 최신 코드를 제공하지만 이전 하위 프로세스가 여전히 존재하며 이전 코드도 제공하는 2 개의 새 프로세스가 생성됩니다. 오래된 자식 프로세스를 죽여야합니까?/해결책은 무엇입니까? –