2014-06-14 17 views
7

Tôi đang phát triển một AngularJS (front-end) đang chạy trong một máy chủ web Nginx gửi yêu cầu tới một Rails API (backend) đang chạy trong một máy chủ ứng dụng Unicorn.Unicorn workers timeout

Tôi nhận ra tôi chỉ là một nhà phát triển và tôi không có ý tưởng về quản trị máy chủ, vì vậy tôi chỉ cần đặt các máy chủ và khởi động chúng.

Ứng dụng đang hoạt động, tuy nhiên, Unicorn có hành vi lạ. Khi tôi bắt đầu, tôi luôn gặp lỗi này:

[email protected]:~/dev/scripts$ ./start_unicorn.sh 
I, [2014-06-14T11:46:06.085834 #4258] INFO -- : Refreshing Gem list 
I, [2014-06-14T11:46:11.591592 #4258] INFO -- : listening on addr=0.0.0.0:8080 fd=10 
I, [2014-06-14T11:46:12.087321 #4258] INFO -- : master process ready 
I, [2014-06-14T11:46:12.151320 #4263] INFO -- : worker=0 ready 
I, [2014-06-14T11:46:12.150526 #4266] INFO -- : worker=1 ready 
E, [2014-06-14T11:46:39.112668 #4258] ERROR -- : worker=0 PID:4263 timeout (16s > 15s), killing 
E, [2014-06-14T11:46:39.112898 #4258] ERROR -- : worker=1 PID:4266 timeout (16s > 15s), killing 
E, [2014-06-14T11:46:39.118081 #4258] ERROR -- : reaped #<Process::Status: pid 4263 SIGKILL (signal 9)> worker=0 
E, [2014-06-14T11:46:39.118634 #4258] ERROR -- : worker=1 PID:4266 timeout (16s > 15s), killing 
E, [2014-06-14T11:46:39.121820 #4258] ERROR -- : reaped #<Process::Status: pid 4266 SIGKILL (signal 9)> worker=1 
I, [2014-06-14T11:46:39.172067 #4284] INFO -- : worker=1 ready 
I, [2014-06-14T11:46:39.172620 #4281] INFO -- : worker=0 ready 

Phải mất vài giây cho đến khi ứng dụng phản hồi. Và điều này xảy ra liên tục.

Tôi đoán tôi đang thiếu một số cấu hình nhưng không có ý tưởng ...

Nếu bạn cần thêm bất kỳ chi tiết, chẳng hạn như các file cấu hình, chỉ cần cho tôi biết

+0

Hi, có thể hiển thị '' 'start_unicorn.sh' của bạn '' script? – mixan946

+0

Tương tự như http://stackoverflow.com/questions/26742776/unicorn-worker-timeout-on-aws-boxes có vẻ như có một yêu cầu đánh nó đang treo. Vấn đề với điểm cuối và bản thân lân. –

Trả lời

3

Bạn có tài sản của bạn biên dịch sẵn? bạn đang trong sản xuất? Nếu không phải khi bạn khởi động máy chủ và nhận yêu cầu đầu tiên, đường ray sẽ cố gắng biên dịch tài sản của bạn có thể mất hơn 15 giây và đạt đến thời gian chờ lân.

Trong start.sh của bạn, bạn nên có một nơi nào

export RAILS_ENVIRONEMENT=production

Và trong bạn triển khai, bạn nên có:

rake assets:precompile

+1

Cảm ơn câu trả lời của bạn Luc, nhưng tôi mất rất nhiều thời gian và không có kết quả nên tôi chuyển đến Puma. – Rober

+0

Điều này phù hợp với tôi. Cảm ơn Luc –