web-dev-qa-db-ja.com

502 Bad Gateway nginx php7 fpm

私はこのtutorailを使用してfpmでnginxとPHP7をインストールしようとしました https://www.digitalocean.com/community/tutorials/how-to-upgrade-to-php-7-on-ubuntu-14-04

Phpファイルにアクセスしようとすると502 Bad Gatewayが返され、php7.0-fpmを再起動しようとすると次のようになります。

Sudo service php7.0-fpm restart
stop: Unknown instance: 
php7.0-fpm start/running, process 5379

私のnginx設定:

location ~ \.php$ {
    try_files $uri =404;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

私のサーバーはUbuntu Server 14.04です

5
user320641

古いlibpcre3がインストールされ、php7.0パッケージの依存関係を満たしている可能性がありますが、pcre_jit_stack_freeを提供するのは新しいライブラリパッケージのみです。

その場合は、apt-get install libpcre3を実行してください。

参照: https://github.com/oerdnj/deb.sury.org/issues/372

1
Bjørn Johansen

Nginxのwww.confファイルを確認して、これらのサービスの実行中にソケットパスが正しいこと、およびその場所にソケットファイルが存在することを確認してください。

すなわち、/var/run/php/php7.0-fpm.sockまたは

/dev/shm/php-fpm-www.sock

init.dからphp-fpmを起動してみてください

/etc/init.d/php-7.0.0-fpm start

php.iniファイルも確認してください

ファイルの最後に次を追加します

[apc]
apc.write_lock = 1
apc.slam_defense = 0
4
sreejith K B

私は解決策を見つけたとき、文字通り何日もこれと戦っていました。これは/etc/nginx/sites-available/wwwのタイプミスでした(元々... sites-available/defaultからコピーされ、変更されました)。

エラーログがクリアされていても、ファイル自体と/var/log/nginx/error.logの両方でこれを見落としていました

connect to unix: /var/run/php/php7.0-fpm-sock failed (2: No such file or directory)

接続線はunix: /var/run/php/php7.0-fpm.sockを読み取る必要があります。

ああ。

1
user721265

Php7.0-fpm-sockを使用したガイドからインストールし、これをコピーしてnginx.confに貼り付けました。 php7.2-fpm-sockに変更を加えることで問題が解決しました。コメントしたでしょうが、私はまだそれをすることはできません。

0
uberdave