Ubuntu 10.04とNginxを搭載したVPSと、capistranoを介してデプロイされるRailsアプリがあります。これまでのところ、すべてが正常に機能しています。昨日、サーバー全体とアプリを破壊したため、完全な災害であったSunspot/Solrを統合しようとしました。そこで、今日は全文検索に使用する組み合わせとしてTire/ElasticSearchを試しました。私のローカル開発環境では、すべてが正常に機能します。ESをhomebrew経由でインストールし、起動して実行しました。少しテストした後、アプリを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)設定する構成がなくてもタイヤがESを見つける方法を知らないb)IPTablesまたはNginxがエラーを引き起こすことだと私は考えていました
また、my-domain.com:9200を開いてESにアクセスすることはできませんが、おそらくこれはNginxが原因です。唯一のことは、同じ問題を抱えている、またはこれを行う方法を共有している人をWeb上で見つけることができなかったことです。
よろしくお願いします。