我正在设置一个 Web 服务器。我有一个新安装的 Ubuntu 22.04 nginx
(欢迎页面可用),并且php-fpm
安装了 php8.1 和 php-fpm8.1。
为了测试 PHP,我创建了一个/var/www/<my domain>/info.php
仅包含以下内容:
<?php
phpinfo(); ?>
浏览此页面可获得错误 502 - 网关错误。
检查 /var/log/nginx/error.log 显示以下内容:
connect() to unix: /var/run/php/php7.4-fpm.sock failed (2: No such file or directory)
我验证了/var/run/php
包含php8.1-fpm.sock
但实际上没有php7.4-fpm.sock
是什么原因导致请求寻找 php7.4?如何完全配置 8.1 以免依赖旧版本/多个版本的 php?
答案1
您需要配置小路在 fpm php 模块中使用/etc/nginx/站点可用/默认配置文件:
location ~ \.php$ {
...
# Nginx php-fpm sock config:
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
...
}
因此,编辑“/etc/nginx/sites-available/default”,并将
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
到
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
并重启 nginx