2016-08-04 4 views
2

私はLinuxサーバ(ワニスキャッシュ)でMagentoのウェブサイトを持ってLinuxのニスキャッシュサーバ - 達人瞑想503

エラー503バックエンドが失敗した達人瞑想をフェッチとして、製品の詳細ページの一部がエラーを示しています。XID:98757

私のウェブサイトのIPアドレスは52.163.xxx.xxです

この問題を解決してください。

は、/ etc/default /ニス

DAEMON_OPTS="-a :8080 \ 
      -T localhost:6082 \ 
      -f /etc/varnish/default.vcl \ 
      -S /etc/varnish/secret \ 
      -s malloc,256m" 

/etc/varnish/default.vcl

backend default{ 
    .host = "127.0.0.1"; 
    .port = "8080"; 
} 

sudoのサービスワニス再起動

  • の停止HTTPアクセラレータvarnishd/usr/sbin/varnishdが見つかりませんでした。誰も殺さなかった。 [失敗]
  • 開始HTTPアクセラレータvarnishd [失敗] バインド():アドレスは既に使用中 バインド():すでに使用 エラーでアドレス:(任意の)受け入れソケットを開くことができませんでした。
+0

Stack Overflowは[プログラミング関連](http://stackoverflow.com/help/on-topic)のQ&Aサイトであるため、このトピックをオフトピックとして閉じることにしました。あなたの質問はプログラミングに関するものではありません。おそらくあなたは代わりにhttp://magento.stackexchange.comに投稿する必要がありますか? – Enigmativity

答えて

1

間違いの1つは、ワニスとバックエンドサーバーの両方が同じポート8080で実行されていることです。これを解決するには2つの方法があります。

  1. 最も簡単で簡単です。ワニスDAEMON_OPTSをポート80でリッスンするように調整します。

    • ワニスは、通常、外部インターフェイスをリッスンします:それはまだ同じポートでも動作するかもしれ

    • は、あなたがワニスを作成し、バックエンドサーバが異なるインターフェイス上で聞くことを条件とします。このように、耳を傾け、あなたのワニスを調整パラメータは、特定のIPにバインドする:あなたのバックエンドサーバーのみループバックインターフェイス、127.0.0.1に耳を傾ける(何のApache、nginxの、)バインドDAEMON_OPTS="-a 52.163.xxx.xx:8080 ...

    • を。

あなたのVCLは「空」であり、あなたはあなたのために正しいVCLファイルを生成することにより、ワニスは、物事をキャッシュすることが保証されますどのMagentoのために、対応するプラグインを使用する必要があります。

  • Magentoの1.1 :Turpentine Plugin
  • Magento 2.x:あなたのMagentoインストールの管理バックエンドからVCLを生成することができます。
+0

ダニエルは迅速な対応に感謝します。私はターペンタインのプラグインをインストールしました。それは動作していませんまた、私は{{root_dir}}/varnishimp/default.vclに設定ファイルのパスを設定しているが、そのディレクトリにdefault.vclファイルは生成されません。ご案内ください。 – Antony

+0

Magentoインストールの/ varディレクトリにWebサーバーがアクセスできるようにする必要があります。 Webサーバースタックには何を使用していますか? Nginx + PHP-FPMの場合、PHP-FPMはMagentoファイルの所有者と同じユーザーとして実行するように設定する必要があります。 –

2

私はこれを理解しているので、非常に同じLinuxマシン上でワニスとバックエンドのWebサーバー(nginxまたはapache)を実行しているのでしょうか?

sudo netstat -anp | grep LISTEN | grep 8080 

し、ポート8080で、どのIPにバインドされているどのようなプロセスを参照してください。

まず第一に、このコマンドを実行してみてください。

あなたの質問の最初の部分は、ワニスが動作していて、バックエンドに接続できないことを示唆しています。 しかし、2番目の部分は、ニスを始めることができないことを示しています。 そのため、上記のコマンドの出力を添付してください。

2番目の部分、つまりニスを開始できません。

私は8080で実行されているバックエンドサーバーを持っていると思います。それはnginx、apacheなどです。 あなたのワニスバックエンドの設定は結局それを確認します。

Webサーバーが127.0.0.1にバインドされ、0.0.0.0にバインドされていないことを確認し、パブリックトラフィックが直接バックエンドWebサーバーに接続することを許可しないようにします。

この場合、ワニスのlisten ip:portを非衝突の組み合わせに変更する必要があります。

次のいずれかを実行できます8080など他の何かに

  • 変更ポートは、あなたが8080を必要とする場合
  • ダブルチェック公衆するのは、何か他にバックエンドWebサーバーの80
  • 変更ポートを言わせて、あなたのバックエンドWebサーバはlocalhostのみ、バインドワニスの代わりに0.0.0.0のパブリックIPにリッスンしている

あなたが舞を変更することで、最後のオプションを行うことができます(デフォルトでは、すべてのマシンのIPを意味します) nニスの構成は:

DAEMON_OPTS="-a 52.163.xxx.xx:8080 \ 
      -T localhost:6082 \ 
      -f /etc/varnish/default.vcl \ 
      -S /etc/varnish/secret \ 
      -s malloc,256m" 

このシナリオには1つの重要な欠点があります。あなたが何とか新しいパブリックIPに来たら、メインワニスの設定でそれを変更する必要があります。これがオートメーションレシピにエンコードできるものであれば問題ではありません。しかし、あなたが手でそれを管理するなら、あなたが本当に良い文書化の練習を持っていることを確認してください、またはあなたは将来、ゴーストバグを狩るでしょう。 :)

+0

Daniel V.がより速くなりました。 Magento VCLのヒントも追加されました。 :) –

+0

このコマンドを実行した後のKasou.sk "tcp6 0 0 ::: 8080 ::: * LISTEN 4675/apache2"私は "-a 52.163.xxx.xx:8080"を変更してみました。 – Antony

+0

確かに、apache2はすべてのipsのポート8080にバインドされています。ローカルホストにのみバインドする必要があります。あなたのapache2設定(例えば、私の古いcentosマシンの/etc/httpd/conf/httpd.conf)の* Listen *ステートメントを見つけて、0.0.0.0:8080と正確に1行127.0.0.1:8080がないことを確認してください。 –

関連する問題