2016-04-15 57 views
0

私はsunspot/solrを検索機能に使用するレールアプリを持っています。このアプリは開発にはうまくいきますが、今は問題のあるサーバーに展開しようとしています。Rails - Solrプロダクションサーバー、接続が拒否されました

私はUbuntu 14.04ワンクリック画像でDokku 0.5.4のDigital Oceanドロップレットを使用しています。

私が初めてSolrを稼働させようとしたとき、私はofficial sunspot githubページの指示に従った。手紙の指示に従っていたにもかかわらず、私は自分のアプリをSolrと話すことができなかった。

リンクされたガイドにあるチュートリアルは少し古いので、私は完全に新しい液滴を回転させてもう一度やり直すことにしましたが、今度は若干最近の方向が見つかったhereです。これらの指示に従い、私はまだ私のレールアプリとの接続に問題があります。ここで

は、私は私がmydomain.com:8983に移動したときに、私はSolrのサーバが動作していることを見ることができることを指摘すべきである

RSolr::Error::ConnectionRefused: Connection refused - {:data=>"<?xml version=\"1.0\" encoding=\"UTF-8\"?><add><doc><field name=\"id\">Person 3</field><field name=\"type\">Person</field><field name=\"type\">ActiveRecord::Base</field><field name=\"class_name\">Person</field><field boost=\"2\" name=\"first_name_text\">Joe</field><field name=\"last_name_text\">Schmoe</field><field name=\"email_text\">[email protected]</field></doc></add>", :headers=>{"Content-Type"=>"text/xml"}, :method=>:post, :params=>{:wt=>:ruby}, :query=>"wt=ruby", :path=>"update", :uri=>#<URI::HTTP http://localhost:8983/solr/solr_sunspot_example/update?wt=ruby>, :open_timeout=>nil, :read_timeout=>nil, :retry_503=>nil, :retry_after_limit=>nil} 

を取得していますエラーです。また、service solr statusを実行すると、次のような結果が得られます。

Found 1 Solr nodes: 

Solr process 1164 running on port 8983 
{ 
    "solr_home":"/var/solr/data/", 
    "version":"5.2.1 1684708 - shalin - 2015-06-10 23:20:13", 
    "startTime":"2016-04-15T19:38:29.651Z", 
    "uptime":"0 days, 0 hours, 24 minutes, 17 seconds", 
    "memory":"93.7 MB (%19.1) of 490.7 MB"} 

はここでこれは私が黒点/ Solrのを使用しようとしたのは初めてであり、私はImがめちゃくちゃに場所を確認することはできないんだけど、私のsunspot.ymlファイル

production: 
    solr: 
    hostname: localhost 
    port: 8983 
    log_level: WARNING 
    path: /solr/solr_sunspot_example 

です。私は正しい方法でsolrをセットアップしましたか?

答えて

0

プロダクション設定でユーザーとパスワードが不足している可能性がありますか?

production: 
    solr: 
    hostname: point_to_solr_host 
    port: 443 
    log_level: WARNING 
    path: /solr/solr_sunspot_example 
    user: <%= ENV["SOLR_USER"] %> 
    password: <%= ENV["SOLR_PASSWORD"] %> 
1

はおそらく、あなたのSolrは、ローカルホストインターフェイスに耳を傾けるように設定されていないとだけmydomain.comインターフェイスにリッスンします。

インスタンスからcurl localhost:8983/solr/solr_sunspot_examplecurl mydomain.com:8983/solr/solr_sunspot_exampleを行い、この仮定を検証するために。 2番目のコマンドが成功した場合、最初のコマンドは成功しません。どちらかmydomain.comインターフェイスを照会するために、設定をポイントし、またはローカルホストインターフェース上で待機するようにSolrの設定を変更します。

あなたはそれを解決するために2つのオプションを持っているでしょう。後者は、sunspot.ymlのホスト名の設定によって制御されます(上で参照しているgithub wikiページを参照してください)。

関連する問題