문제점 : thin 명령이 재시작되는 동안 요청 된 모든 요청은 502 잘못된 게이트웨이 오류가됩니다.레일 코드 배포 후 가상 시스템 재시작 실행, 상수 502 불량 게이트웨이 오류
코드 변경 사항을 서버에 배포 할 때 새로운 변경 사항을 적용하려면 씬을 다시 시작해야합니다. 내 얇은 구성 YML은 다음과 같습니다
chdir: /var/www/appname
servers: 6
environment: production
onebyone: true
wait: 30
no-epoll: true
address: 0.0.0.0
port: 3000
timeout: 30
log: log/thin.log
pid: tmp/pids/thin.pid
max_conns: 1024
max_persistent_conns: 512
require: []
daemonize: true
나의 이해는 재산 "onebyone은"적어도 1 서버가 요청에 응답하기 위해 항상 사용할 수 있는지 확인 것이라고했다. 그러나 모든 서버가 다시 시작될 때까지 요청이 발생하면 502 잘못된 게이트웨이 오류 또는 504 게이트웨이 시간 초과가 발생합니다. 새 코드를 프로덕션 환경으로 푸시 한 후 내 요청이 올바르게 처리되도록하려면 어떻게해야합니까? 무엇 일어나는 것은 얇은하려고하고있는 것을
/usr/local/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10/lib/eventmachine.rb:572:in `start_tcp_server': no acceptor (RuntimeError)
from /usr/local/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10/lib/eventmachine.rb:572:in `start_server'
from /usr/local/lib/ruby/gems/1.9.1/gems/thin-1.3.1/lib/thin/backends/tcp_server.rb:16:in `connect'
from /usr/local/lib/ruby/gems/1.9.1/gems/thin-1.3.1/lib/thin/backends/base.rb:53:in `block in start'
from /usr/local/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `call'
from /usr/local/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run_machine'
from /usr/local/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run'
from /usr/local/lib/ruby/gems/1.9.1/gems/thin-1.3.1/lib/thin/backends/base.rb:61:in `start'
from /usr/local/lib/ruby/gems/1.9.1/gems/thin-1.3.1/lib/thin/server.rb:159:in `start'
from /usr/local/lib/ruby/gems/1.9.1/gems/thin-1.3.1/lib/thin/controllers/controller.rb:86:in `start'
from /usr/local/lib/ruby/gems/1.9.1/gems/thin-1.3.1/lib/thin/runner.rb:185:in `run_command'
from /usr/local/lib/ruby/gems/1.9.1/gems/thin-1.3.1/lib/thin/runner.rb:151:in `run!'
from /usr/local/lib/ruby/gems/1.9.1/gems/thin-1.3.1/bin/thin:6:in `<top (required)>'
from /usr/local/bin/thin:19:in `load'
from /usr/local/bin/thin:19:in `<main>'
내가 sudo thin -C /etc/thin/appname.yaml restart
으로 다시 시작 해요 그것은 나타납니다
감사
UPDATE
얇은 로그는이 오류를 보여 포트 3000에서 수신 대기하지만, 이전의 씬 프로 세 스는 여전히 해당 포트에서 실행 중입니까? 왜 이런 일이 일어 났을까요?
씬 (예 : nginx) 앞에서 웹 서버를 사용하고 있습니까? –
네, 저는 nginx를 사용하고 있습니다. 무슨 일이 일어나고있는 것 같아요 얇은 다시 시작하는 동안 펑키 한 일이 일어나고 있기 때문에 nginx는 얇게 말할 수 없습니다. –