Başarısız ActionCable'ı kullanmak için geçtiğimiz günlerde raylar projemi Rails4'ten 5.0.0.beta3'e değiştirdim.Nginx ve Unicorn ile ActionCable nasıl üretilir?
ActionCable sunucum unicorn içinde çalıştırılıyor. Gelişimde tüm işler iyi. üretiminde ben
Started GET "/cable" for xxx.xxx.xxx.xxx at 2016-03-28 18:06:38 +0300
Started GET "/cable/" [WebSocket] for xxx.xxx.xxx.xxx at 2016-03-28 18:06
Successfully upgraded to WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: Upgrade, HTTP_UPGRADE: websocket)
Registered connection (189772ff-6229-48f1-ae7f-d9a96ad3a6c3)
Finished "/cable/" [WebSocket] for xxx.xxx.xxx.xxx at 2016-03-28 18:06:35
var Ve bu mesajı bir döngü içinde tekrar tekrar yinelenir.
Bunu işlemek için stackoverflow'ta pek çok seçenek denedim ama hiçbir şey yardımcı olmaz. Benim nginx yapılandırma: ActionCable.server.config.disable_request_forgery_protection = true
Benim cable.coffee
dosyayı
@App ||= {}
App.cable = ActionCable.createConsumer "/cable"
Benim config/cable.yml
dosya
upstream unicorn {
server unix:/tmp/unicorn.my_app.sock fail_timeout=0;
}
server {
server_name www.my_app.com;
return 301 $scheme://my_app.com$request_uri;
}
server {
listen 80 default deferred;
server_name my_app.com;
root /var/www/my_app/current/public;
location ^~ /assets/ {
gzip_static on;
expires max;
add_header Cache-Control public;
}
try_files $uri/index.html $uri @unicorn;
location @unicorn {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://unicorn;
}
location /cable {
proxy_pass http://unicorn/cable;
proxy_http_version 1.1;
proxy_set_header Upgrade websocket;
proxy_set_header Connection Upgrade;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
error_page 500 502 503 504 /500.html;
keepalive_timeout 5;
}
istek ı ettik geçici başlatıcılar bu kodu kullanmak izin verildiğinden emin olmak için
production:
adapter: redis
url: redis://localhost:6379/1
Bu soruda çok deneyimli değilim, bu nedenle herhangi bir yardım harika olurdu.
Rotalarınızda 'mountCable.server => '/ cable'' var mı? – siegy22
@yzalavin Bunu çözebildiniz mi? Aynı problemi görüyorum. –
@R_G Aynı konuya da sahibim. Sorunları bulabildin mi? Tek boynuzlu attığım hatalardan, istemcilere ping gönderemiyorum ve böylece istemci yeniden bağlanmaya çalışıyor. Yani bağlantı deyimleri döngü içinde. Diğer yöndeki akışın neden çalışmadığından emin değilsiniz – sethi