3

localhost で Faye をセットアップしましたが、正常に動作します。

Cloud66 展開サービスを使用して、DigitalOcean VPS に展開しようとしています。コマンドを実行するには、「after_rails」フックを使用します。

Rackup $RAILS_STACK_PATH/faye.ru -s thin -E production

これは私にエラーを与えます:

デプロイ中のエラー: after_rails フック中のエラー: サーバー: not_specified。コマンドの実行に失敗しました: /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in require': cannot load such file -- faye (LoadError) from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:inrequire' from /var/deploy/anabol/web_head/current/faye.ru:1:in block in <main>' from /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/builder.rb:55:in/usr/local/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/builder.rb:55:in initialize' from /var/deploy/anabol/web_head/current/faye.ru:innew' からの instance_eval' /var/deploy/anabol/web_head/current からの/faye.ru:in <main>' from /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/builder.rb:49:ineval' from /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/builder.rb:49:in new_from_string' from /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/builder.rb:40:inparse_file' from /usr/local /lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/server.rb:277:in build_app_and_options_from_config' from /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/server.rb:199:inapp' from /usr/local/lib/ruby/gems/1.9.1/gems/ rack-1.5.2/lib/rack/server.rb:314:in wrapped_app' from /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/server.rb:250:instart' from /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/server.rb :141:インチstart' from /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.5.2/bin/rackup:4:in' from /usr/local/bin/rackup:23:in load' from /usr/local/bin/rackup:23:in'

github リポジトリ: https://github.com/gwuix2/anabol

何が問題になる可能性がありますか?どこから始めればよいかわかりません。

4

2 に答える 2

4

他の誰かがこの問題に遭遇した場合に備えて、この問題を解決する方法についていくつかのドキュメントを作成しました。ここで見つけることができます: http://community.cloud66.com/articles/faye-on-cloud-66

免責事項: 私は Cloud 66 で働いています。

于 2013-08-28T12:06:05.387 に答える
3

Cloud 66 サポートが私の問題を解決しました:

やあ、

独自のスタックで faye を実行します。実際にシンの背後で実行し、スタック上のプロセスとして監視します。これを行うには 4 つのファイルを使用します。以下の詳細を参照してください。

1)RAILS_ROOT/.cloud66/deploy_hooks.yml

production:
before_rails:
- source: /.cloud66/files/add_thin_and_faye.sh
destination: ~/add_thin_and_faye.sh
target: rails
execute: true
sudo: true
apply_during: build_only
run_on: all_servers

2)RAILS_ROOT/.cloud66/files/add_thin_and_faye.sh

#!/bin/bash
sudo gem install thin --no-ri --no-rdoc
sudo gem install faye --no-ri --no-rdoc

3)RAILS_ROOT/Procfile

faye: thin -R $RAILS_STACK_PATH/faye/config.ru start

4)RAILS_ROOT/faye/config.ru

require 'faye'
faye_server = Faye::RackAdapter.new(:mount => '/your_faye_mount', :timeout => 45)
Faye::WebSocket.load_adapter('thin')
faye_server.listen(<<PUT-YOUR-PORT-HERE>>)

パート 4) の設定は、もちろん要件によって異なります。

上記のセットアップに従うと、スタックと一緒に faye が実行され、スタック上のプロセスとして利用できるようになります。

于 2013-08-16T09:19:56.923 に答える