在将我的rails 3.0.10应用程序部署到带有Passenger,Capistrano,nginx和MySQL的Ubuntu 10.04服务器时,我遇到了很多麻烦(甚至在apache2中遇到了更多麻烦)。在将rake降级到0.8.7之后,它终于可以工作了,但是现在Sunspot / Solr在我的开发环境中不起作用。 sunspot_solr服务器正在运行,我能够获取服务器的url,并通过浏览器连接到它。该网址与sunspot.yml中的网址相同。我不知道我所做的事情可能会导致问题。我之前曾在黑子上遇到过同样的问题(在降低耙的评级之前)。然后它突然又开始工作了。我不知道为什么...我尝试了两个版本的Sunspot(1.2.1和1.3.0)。两者都已经开始工作了,但是现在不行了。

这是我收到的错误消息:

SocketError (getaddrinfo: Name or service not known):
app/models/resource.rb:128:in `text_search'
app/controllers/search_controller.rb:21:in `index'

Rendered /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/templates/rescues/_trace.erb (2.0ms)
Rendered /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (161.6ms)
Rendered /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (168.9ms)


控制器有点混乱,所以我只包括相关部分:

@criterion = params[:criterion]
@sort_direction = params[:sort_direction]
if @criterion && @sort_direction
  session["sort_search"] = @criterion + "|" + @sort_direction
elsif session["sort_search"]
  @criterion = session["sort_search"].split("|")[0]
  @sort_direction = session["sort_search"].split("|")[1]
else
  @criterion = "updated_at"
  @sort_direction = "desc"
 end
@search = Resource.text_search(session[:search_params] || "", current_user, @criterion, @sort_direction)
@resources = @search.results


自从控制器工作以来,我没有对其进行任何更改。

我的gemfile:

source 'http://rubygems.org'
gem 'rake'
gem 'rails', '3.0.10'
gem 'jquery-rails', '>= 1.0.12'
gem 'sqlite3'
gem 'ancestry'
gem 'carrierwave'
gem 'sunspot_rails', '>= 1.3' #'~> 1.2.1' #
gem 'authlogic'
gem 'will_paginate'
gem 'declarative_authorization'
group :production do
  gem 'mysql'
end
group :development do
  gem 'sunspot_solr'
end
gem 'capistrano'


我的rakefile:

require File.expand_path('../config/application', __FILE__)
require 'rake'

Skolearkivet::Application.load_tasks

最佳答案

只是一个疯狂的猜测,您是否有可能使用localhost作为主机名?尝试将localhost更改为127.0.0.1

关于ruby-on-rails-3 - SocketError(getaddrinfo:名称或服务未知)-Sunspot/Solr Rails开发,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9654350/

10-11 08:13