0

質問:

問題は本番環境での Faye のセットアップに似ています。CloudControlのステージングで Faye を開始できません。ここにあるfaye.ru

require 'faye'
faye_server = Faye::RackAdapter.new(:mount => '/faye', :timeout => 45)
Faye::WebSocket.load_adapter('thin')
run faye_server

ここにあるProcfile

web: bundle exec thin start -R config.ru -e $RAILS_ENV -p $PORT
faye: bundle exec thin start -R faye.ru -p 9292

ステージング ログ:

11/21/14 12:27 PM Deploy ***** Deployed 09c2174cba4b14375779a5160ab7348a62a570b4 *****
11/21/14 12:27 PM Info Started GET "/" for 10.99.3.169 at 2014-11-21 10:27:02 +0000
11/21/14 12:27 PM Info Listening on 0.0.0.0:25143, CTRL+C to stop
11/21/14 12:27 PM Info Maximum connections set to 1024
11/21/14 12:27 PM Info Thin web server (v1.6.3 codename Protein Powder)
11/21/14 12:27 PM Deploy ***** Deployed 09c2174cba4b14375779a5160ab7348a62a570b4 *****
11/21/14 12:27 PM Info Started GET "/" for 10.94.134.23 at 2014-11-21 10:27:01 +0000
11/21/14 12:27 PM Info Listening on 0.0.0.0:12103, CTRL+C to stop
11/21/14 12:27 PM Info Maximum connections set to 1024
11/21/14 12:27 PM Info Thin web server (v1.6.3 codename Protein Powder)

myapp.cloudcontrolapp.com は問題ありませんが、myapp.cloudcontrolapp.com:9292/faye.js を取得できません。

faye を使用して Rails サーバーの localy を起動すると、1. rails 2.if Rails.env.development? Thread.new do system("rackup faye.ru -s thin -E production") end end イニシャライザで問題なく動作しました。ローカル ログは次のとおりです。

Thin web server
Maximum connections set to 1024
Listening on 0.0.0.0:9292, CTRL+C to stop
Thin web server 
Maximum connections set to 1024
Listening on 0.0.0.0:3000, CTRL+C to stop

そして、localhost:9292/faye.js は問題ありません。localhost:3000 は問題ありません。

cloudControl で faye を起動する方法を教えてもらえますか? ありがとうございました。

4

1 に答える 1

0

外部からアクセスできるのは Web タイプのプロセスのみであり、$port で指定されたポートをリッスンする必要があります。Profile の最初の行と同じです。2 番目のプロセスがポートをリッスンし、外部からアクセスできるようにする場合は、それを 2 番目のアプリに入れる必要があります。

于 2014-11-24T09:01:18.957 に答える