
PHP コードを実行する AWS サーバーがあります。
最近php8にアップグレードしました。今、私のサイトのphpページにアクセスすると(例えばhttps://whitewaterwriters.com/oracle/index.php) nginx エラーが発生します。
ログを見るsudo tail /var/log/nginx/error.log
と、次のようになります:
2022/11/22 10:43:23 [crit] 2309#2309: *12122 connect() to unix:/run/php-fpm/www.sock failed (2: No such file or directory) while connecting to upstream, client: 51.148.131.133, server: whitewaterwriters.com, request: "GET /oracle/index.php HTTP/1.1", upstream: "fastcgi://unix:/run/php-fpm/www.sock:", host: "whitewaterwriters.com"
つまり、www.sock でソケットを探しています。そのようなソケットはありません (ただし、同じ方法で設定したはずの別のサーバーにそのソケットがあります)。私が持っているソケットは php-frm.sock です。これが nginx.conf ファイルが参照するソケットです。
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
そして、php.ini が listen するもの (/etc/php-fpm.d/www.conf)
listen = /var/run/php-fpm/php-fpm.sock
私の質問は、nginx に www.sock を探すように指示する設定ファイルは何ですか? または、そのソケットをどのように作成しますか?
答え1
「設定ファイルはどこにあるの?」という質問に対する答えは
/etc/nginx/conf.d/php-fpm.conf - 他のものが www.conf を指していない場合は、常に www.conf を指していました。