Faye在生产中设置

我已经在localhost上设置了Faye,并且工作正常。

我现在正尝试使用Cloud66部署服务在DigitalOcean VPS上部署它。 要运行命令,我使用“after_rails”钩子。

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

这给了我错误:

部署期间出错:after_rails hook期间出错:服务器:not_specified。 无法运行命令:/usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb require': cannot load such file -- faye (LoadError) from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in from /var/deploy/anabol/web_head/current/faye.ru:1:in block in ' from /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/builder.rb:55:in instance_eval’from /usr/local/lib/ruby/gems/1.9.1/gems/rack -1.5.2 / lib / rack / builder.rb:55: initialize' from /var/deploy/anabol/web_head/current/faye.ru:in / var / deploy / anabol / web_head / current / faye .ru:来自/ usr / local的' from /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/builder.rb:49:in eval’中的' from /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/builder.rb:49:in /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:in parse_file’from /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/server.rb :277: 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: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:in app’from /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.5 .2 / lib / rack / server.rb:314:在wrapped_app' from /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/server.rb:250:in中的wrapped_app' from /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/server.rb:250:in开头’from /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/server.rb:141:in start’from start' from /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.5.2/bin/rackup:4:in / usr / local / bin / rackup:23:in load’from load' from /usr/local/bin/rackup:23:in

github repo: https : //github.com/gwuix2/anabol

有什么建议可能是什么问题? 不知道从哪里开始。

我已经写了一些关于如何解决这个问题的文档,万一其他人遇到它。 你可以在这里找到它: http : //community.cloud66.com/articles/faye-on-cloud-66

免责声明:我为Cloud 66工作。

Cloud 66支持解决了我的问题:

嗨,您好,

我们在自己的堆栈上运行faye。 我们实际上是在瘦身后运行它 – 并将其作为堆栈中的进程进行监视。 我们这样做的方式是四个文件 – 请参阅下面的详细信息:

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(<>) 

请注意,对于第4部分,设置将根据您的要求而不同。

如果你按照上面的设置进行操作,你就可以在你的堆栈旁边运行它,它将作为一个进程在你的堆栈中提供。