我有一个带有 Ubuntu 10.04 和 Nginx 的 VPS,以及一个通过 capistrano 部署到它的 Rails 应用程序。到目前为止,一切正常。昨天我尝试集成 Sunspot/Solr,这完全是一场灾难,因为它破坏了我的整个服务器和应用程序。所以,今天我尝试将轮胎/弹性搜索作为全文搜索的组合。在我的本地开发环境中,一切正常。我通过自制软件安装了 ES 并启动并运行。经过一些测试后,我将应用程序部署到我的 VPS 并在此服务器上安装了 ES。当我启动 ES 时,它给了我一个 PID,似乎工作正常,但问题是,轮胎宝石似乎无法连接或找到它。因为我无法保存将被索引的对象或在数据库中搜索某些内容。我总是收到消息(我自己将 IP 地址更改为 0.0.
Started GET "/food?utf8=%E2%9C%93&query=hamburger" for 0.0.0.0 at 2011-12-22 16:43:07 +0100
Processing by PostsController#index as HTML
Parameters: {"utf8"=>"✓", "query"=>"hamburger"}
Completed 500 Internal Server Error in 11ms
Errno::ECONNREFUSED (Connection refused - connect(2)):
app/models/food.rb:23:in search'
app/controllers/food_controller.rb:12:inindex'
如果我尝试保存某些内容,则消息几乎相同,只是发生错误的代码行不同。
我一直在寻找几个小时来找出错误在哪里,如果我错过了配置中的某些内容或问题是什么,但我似乎无法找到它。我一直在想问题是a)Tire不知道如何找到ES,即使没有配置要设置b)IPTables或Nginx导致错误
而且我无法打开 my-domain.com:9200 来访问 ES,但这可能是由于 Nginx。唯一的问题是,我在网络上找不到任何有同样问题或共享方法的人。
我将衷心感谢您的帮助。