Ubuntu 12.10 を 14.04 にアップデートした後に Nginx 502 エラーが発生しますか?

Ubuntu 12.10 を 14.04 にアップデートした後に Nginx 502 エラーが発生しますか?

私は特に古い Ubuntu ディストリビューション (12.10) を使用していて、16.04 に順次更新するプロセスを開始していました。昨日、Ubuntu の古いリリース アーカイブと Digital Ocean のこのチュートリアルを使用して、12.10->13.10->14.04 に正常に更新しました。ドロップレットは grubloader v2.0 を使用していたため、カーネルを変更する必要はありませんでした。

アップデートの成功に興奮し、do-release-upgrade を使用して 14.04 から 16.04 に移行しました。ディストリビューションは正常にアップデートされましたが、アップデート後すぐに 502 エラー (nginx /1.4.6) が発生しました。私はこうしたことすべてに不慣れなので、13.10 から 14.04 へのアップグレードとまったく同じ方法で、14.04 から 16.04 へのリリース アップグレードを実行しました。

14.04 から 16.04 にアップデートするときにこの問題に遭遇した人はいますか? また、ドロップレットを 12.10 に復元して 14.04 にアップデートし直しましたが、以前は 14.04 アップデートが正常に動作していたにもかかわらず、同じ 502 エラーが発生しています。

今日のエラー ログは次のとおりです (バージョン 14.04 の 502 エラー)。

2018/03/22 10:01:08 [crit] 774#0: *58351 connect() to unix:/var/run/php5-fpm.sock failed (13: Permission denied) while connecting to upstream, client: 46.229.168.67, server: localhost, request: "GET /tag/love-me-some-cats/ HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "wesleying.org"

このような問題に遭遇したことがある人、または初心者向けの簡単な解決策を知っている人はいますか?

答え1

Nginx は、UNIX ソケットを介して PHP FPM に接続します。使用するバージョン (OS のバージョンによって異なる可能性があります) に応じて、ソケットの名前または場所が異なる場合があります。ソケットがない場合でも、ポートがある場合があります。

PHP FPMがどのようにサービスを提供しているかをご覧ください

netstat -nlp | grep php

結果はポートまたは Unix ソケットになる場合もあれば、複数の結果 (たとえば、PHP のバージョンによって異なる) になる場合もあります。

結果例

unix  2      [ ACC ]     STREAM     HÖRT         34042019 19073/php-fpm.conf) /run/php/php5.6-fpm.sock

それに応じてNginxを更新してください

fastcgi_pass unix:/run/php/php5.6-fpm.sock;

ウェブサーバーをリロードします

service nginx reload

関連情報