1.报错unix:/var/run/php-fpm/php-fpm.sock failed (2: No such file or directory
nginx的报错日志默认在/var/log/error.log
在nginx.conf文件中写的部分配置如下
fastcgi_index index.php;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
启动nginx服务后访问对应站点出现如下报错:
2023/09/07 10:21:36 [crit] 1682#1682: *11 connect() to unix:/var/run/php-fpm/php-fpm.sock failed (2: No such file or directory) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm/php-fpm.sock:", host: "127.0.0.1:9090"
该报错是由于php-fpm未在/var/run/php-fpm/ 下生成php-fpm.sock文件,解决方法是修改/etc/php-fpm.d/www.conf的listen字段,修改监听方式
重启后即可看见对应文件生成
2.connect() to unix:/var/run/php-fpm/php-fpm.sock failed (13: Permission denied)报错
该报错可能是由于文件的权限不足,nginx的启动用户默认为nginx,可能无法转发部分权限为root的文件目录,该报错的解决方法如下:
[root@yyt nginx]# chown nginx:nginx /var/run/php-fpm/php-fpm.sock
修改/etc/php-fpm.d/www.conf
修改监听权限所有者,将nobody改为nginx
;listen.owner = nginx
;listen.group = nginx
修改完成后重启nginx以及php-fpm 服务,再重新访问对应站点,发现可以正常访问了