2013-08-28 22 views
15
なしサーバー

私はトラブルApacheがRailsは+ Dalli memcacheの宝石:DalliError:

DalliError: No server availableを訴えて続けているので、自分のサーバー上で私のRailsプロジェクトをセットアップを持っていますこんにちは。

私はubuntuマシンにmemcachedをインストールしましたが、それでも動作しません。私のレールプロジェクトはまた、environments/production.rbにconfig.cache_store = :dalli_store, 'localhost:11211', { :namespace => "production" }を持っています。どのように私はこれをデバッグするでしょうか?

私のログには、各要求の前に示しています11211へ

localhost:11211 failed (count: 6) 
DalliError: No server available 

のtelnet:

[email protected]:/usr/local/www/production/current/log# telnet localhost 11211 
    Trying 127.0.1.1... 
    telnet: Unable to connect to remote host: Connection refused 
+0

をあなたがmemcachedを開始するために実行されていますか? – PinnyM

答えて

23

私は同じ問題を抱えていました。 まず私は宝石 gem install memcached としてmemcachedをし、エラー「DalliError:いいえサーバー利用可能」だインストールさそれから私は sudo apt-get install memcachedを行うことでmemcachedをインストールさ

を。 これで問題なく動作します。

3

誰かが/etc/hostsファイルを127.0.0.1の代わりに127.0.1.1をlocalhostに変更したためです。それを変更した後、memcachedが働いた。

0

受け入れ答えは、おそらく、このエラーを見ている人の95%のための問題を解決しますが、私の場合には、私は問題ははるかに根本的であることが判明:

サーバーから、私はping 127.0.0.1にできませんでした。つまり、Dallimemcacheサーバーに接続できませんでした。デフォルトでは127.0.0.1:11211が実行されています。

になる可能性がありますが、ネットワークインターフェイスが不足している可能性が最も高いのはいくつかあります。あなたがifconfigを実行する場合、出力にこのように表示されます。

lo  Link encap:Local Loopback 
      inet addr:127.0.0.1 Mask:255.0.0.0 
      inet6 addr: ::1/128 Scope:Host 
      UP LOOPBACK RUNNING MTU:65536 Metric:1 
      RX packets:15686 errors:0 dropped:0 overruns:0 frame:0 
      TX packets:15686 errors:0 dropped:0 overruns:0 carrier:0 
      collisions:0 txqueuelen:1 
      RX bytes:23730314 (23.7 MB) TX bytes:23730314 (23.7 MB) 

これが欠落している場合は、あなたの/etc/network/interfacesファイルには、次のローカルインターフェイスの定義が含まれていることを確認:

auto lo 
iface lo inet loopback 

そして再起動しますネットワーキングサービス:

sudo /etc/init.d/networking restart 
6

あなたが自家製のユーザーの場合:

brew install memcached 

チェックサービスが実行されている場合:

brew services list 

ない場合は、それを起動します。

brew services start memcached