私はこの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です
古いlibpcre3がインストールされ、php7.0パッケージの依存関係を満たしている可能性がありますが、pcre_jit_stack_freeを提供するのは新しいライブラリパッケージのみです。
その場合は、apt-get install libpcre3
を実行してください。
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
私は解決策を見つけたとき、文字通り何日もこれと戦っていました。これは/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
を読み取る必要があります。
ああ。
Php7.0-fpm-sockを使用したガイドからインストールし、これをコピーしてnginx.confに貼り付けました。 php7.2-fpm-sockに変更を加えることで問題が解決しました。コメントしたでしょうが、私はまだそれをすることはできません。