
我有一個運行一些 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 監聽的那個(位於 /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 。