web-dev-qa-db-ja.com

php5-fpmを更新し、ソケットを使用できなくなりました

今日の初めに、サーバーの1つでパッケージを更新しました。それらのパッケージの1つは、php5-fpmの更新でした。これは、unix:/var/run/php5-fpm.sockを利用する私の能力を壊したようです。

免責事項:Linuxを使い始めたのはつい最近のことです。私は完全にここで何が起こっているのか理解していません。

他の多くの質問を確認しましたが、問題の答えを見つけることができませんでした。つまり、php5-fpm.sockに渡す代わりに127.0.0.1:9000を使用しようとすると、502 BadGatewayエラーが発生します。

他の質問に基づいて関連すると思われる詳細を次に示します。

  • 私のphp5-fpmプロセスis実行中です。
  • 私の/etc/php5/fpm/pool.d/www.confファイルにはlisten = /var/run/php5-fpm.sockがあります
  • 私のサーバーブロックにはfastcgi_pass = unix:/var/run/php5-fpm.sockがあります
  • php5-fpm.sockdoes/var/run/に存在します。

Php5-fpmをアップグレードすると、www.confを上書きするかどうか尋ねられました。差分を確認したところ、メンテナのファイルと私のファイルとの唯一の変更点は、メンテナのデフォルトとしてlisten = 127.0.0.1:9000が設定されていることでした。

上書きすることを選択し、php5-fpmのアップグレードを完了した後、/etc/php5/fpm/pool.d/www.confを開き、以前に設定したようにlisten = /var/run/php5-fpm.sockのリッスンを変更しました。次に、php5-fpm、nginxの順に再起動しました。

ドメインにアクセスすると502が表示され、完全に途方に暮れています。 www.confのlistenとHostファイルのfastcgi_pass127.0.0.1:9000に変更すると、すべてが完全に機能します。それが重要な場合、私はUbuntu12.04LTSを使用しています。

あなたの助けは大歓迎です。

1
user228321

Ls -l /var/run/php5-fpm.sockを使用して、php5-fpm.sockファイルの所有者を確認する必要があります。

ルートに設定されており、Webサーバーはwww-dataとして実行されていることがわかると思います。さらに、www.confの権限は0660です。これは、rootのみが権限を持つことを意味します。

Sockユーザーに関連する行のコメントを解除し、www-dataに設定して、php5-fpmサービスを再起動できます。

1
bcj